-
1 Swing菜单
-
2 菜单应用
Swing菜单的使用
Swing菜单是一种比较常用的组件,可以将一个应用程序的功能进行层次化的管理。菜单分为两种:下拉式菜单和弹出式菜单。其中下拉式菜单由三个部分组成:菜单条(JMenuBar)、菜单条上的菜单(JMenu)和菜单下拉列表中的菜单项(JMenuItem)。
Swing菜单实际上是使用按钮建立的,对它们使用动作监听器(ActionListener)来处理菜单事件。
1.菜单条(JMenuBar)
在GUI程序中添加菜单系统,必须使用JMenuBar类创建一个菜单条:
JMenuBar jmb=new JMenuBar();
将菜单条加入到GUI程序中,与其它组件的添加有所不同,不能用add()方法,而是使用专门的设置菜单条的方法:setJMenuBar(JMenuBar m);
利用此方法向框架窗口或JApplet中添加菜单条:
JMenuBar m=new JMenuBar();
JFrame f=new JFrame();
f.setJMenuBar(m);
2.菜单(Jmenu)
新创建的菜单条里面什么都没有,需要将自己的菜单添加进去。可以使用JMenu类来创建菜单,JMenu类的构造方法有:
(1)Jmenu():生成一个没有文本的JMenu类对象。
(2)Jmenu(String str):生成一个具有指定文本的菜单。
(3)Jmenu(String str,Boolean flag):生成一个具有指定文本的菜单,若flag为true,则这个JMenu对象有可移动的菜单。
(4)public void addSeparator():加入分隔线。
JMenu jm=new JMenu(“文件”);
将菜单加入到菜要中使用add()方法:
m.add(jm);
注意:菜单不响应事件。
3. 菜单项(JMenuItem)
通过JMenuItem类,可以创建菜单项,JMenuItem类继承AbstractButton类,因此JMenuItem类也可以理解为一种特殊的JButton组件,所以当选择菜单项时会触发ActionEvent事件。JMenuItem类的构造方法如下:
(1)JmenuItem():生成一个空的菜单项JMenuItem。
(2)JmenuItem(Icon icon):生成一个具有图标的JMenuItem。
(3)JmenuItem(Strng str);生成一个具有文本的JMenuItem。
(4)JmenuItem(String str,Icon icon):生成一个文本和图标的JMenuItem。
(5)JmenuItem(String str,mnemonic):生成一个具有文本和键盘助记符的JmenuItem。
JmenuItem jmt=new JmenuItem(“打开”);
将菜单项加入到菜单中,使用add()方法:
jm.add(jmt);
选择菜单项的效果同选择了按钮一样,会产生ActionEvent事件。
4弹出式菜单(JPopupMenu)
JPopupMenu是在点击鼠标右键时弹出的菜单。
JPopupMenu的构造方法如下:
(1)JPopupMenu():生成一个无标题的弹出式菜单。
(2)JPopupMenu(String label):生成一个指定标题的弹出式菜单。
创建了弹出式菜单后,可以使用add()方法在其上添加菜单项JMenuItem的对象。

