Java JMenuItem&JMenu
精华
小牛编辑
120浏览
2023-03-14
1 Java JMenuBar JMenu JMenuItem的介绍
JMenuBar类用于在窗口或框架上显示菜单栏。它可能有几个菜单。
JMenu类的对象是从菜单栏显示的下拉菜单组件。它继承了JMenuItem类。
JMenuItem类的对象添加了一个简单的带标签的菜单项。菜单中使用的项目必须属于JMenuItem或其任何子类。
2 Java JMenuBar JMenu JMenuItem的声明
JMenuBar类声明
public class JMenuBar extends JComponent implements MenuElement, Accessible
JMenu类声明
public class JMenu extends JMenuItem implements MenuElement, Accessible
JMenuItem类声明
public class JMenuItem extends AbstractButton implements Accessible, MenuElement
3 Java JMenuBar JMenu JMenuItem的案例1
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
import javax.swing.*;
public class MenuExample {
JMenu menu, submenu;
JMenuItem i1, i2, i3, i4, i5;
MenuExample(){
JFrame f= new JFrame("JMenu和JMenuItem案例-小牛知识库网");
JMenuBar mb=new JMenuBar();
menu=new JMenu("Menu");
submenu=new JMenu("Sub Menu");
i1=new JMenuItem("Item 1");
i2=new JMenuItem("Item 2");
i3=new JMenuItem("Item 3");
i4=new JMenuItem("Item 4");
i5=new JMenuItem("Item 5");
menu.add(i1); menu.add(i2); menu.add(i3);
submenu.add(i4); submenu.add(i5);
menu.add(submenu);
mb.add(menu);
f.setJMenuBar(mb);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
}
public static void main(String args[])
{
new MenuExample();
}
}
输出结果为:
4 Java JMenuBar JMenu JMenuItem的案例2
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
import javax.swing.*;
import java.awt.event.*;
public class MenuExample implements ActionListener{
JFrame f;
JMenuBar mb;
JMenu file,edit,help;
JMenuItem cut,copy,paste,selectAll;
JTextArea ta;
MenuExample(){
f=new JFrame();
cut=new JMenuItem("cut");
copy=new JMenuItem("copy");
paste=new JMenuItem("paste");
selectAll=new JMenuItem("selectAll");
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
selectAll.addActionListener(this);
mb=new JMenuBar();
file=new JMenu("File");
edit=new JMenu("Edit");
help=new JMenu("Help");
edit.add(cut);edit.add(copy);edit.add(paste);edit.add(selectAll);
mb.add(file);mb.add(edit);mb.add(help);
ta=new JTextArea();
ta.setBounds(5,5,360,320);
f.add(mb);f.add(ta);
f.setJMenuBar(mb);
f.setLayout(null);
f.setSize(400,400);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==cut)
ta.cut();
if(e.getSource()==paste)
ta.paste();
if(e.getSource()==copy)
ta.copy();
if(e.getSource()==selectAll)
ta.selectAll();
}
public static void main(String[] args) {
new MenuExample();
}
}
输出结果为: