13、Java菜单条、菜单、菜单项


一般用Java做界面时,都得牵涉到菜单条、菜单、菜单项的设计。菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置。

13.1、菜单条(Menubar)

Frame类中将菜单条放置到窗口中的方法:setMenuBar(MenuBar bar);该方法将菜单条添加到窗口的顶端。注意:只能向窗口添加一个菜单条。

13.2、菜单(Menu)

Menu类的主要方法有:

1.Menu():建立一个空标题的菜单。

2.Menu(String s):建立一个指定标题s的菜单。

3.public void add(MenuItem item):向菜单添加菜单项item。

4.public void add(String s):向菜单增加指定的选项。

5.public MenuItem getItem(int n):得到指定索引处的菜单项。

6.public int getItemCount():得到菜单选项数目。

7.public void insert(MenuItem item,int n):在菜单的指定位置插入菜单选项。

8.public void insert(String s,int n):在菜单指定位置插入菜单选项。

9.public void remove(int n):删除菜单指定位置的菜单选项。

10.public void removeAll():删除菜单的所有选项。

13.3、菜单项

1.MenuItem():构造无标题菜单项。

2.MenuItem(String s):构造有标题菜单项。

3.public void setEnabled(boolean b):设置当前菜单项是否可被选择。

4.public String getlabel():得到菜单选项的名字。

5.public void addActionListener(ActionListener):向菜单项增加监视器,从菜单项接收行动事件(单击菜单项)。

13.4、菜单项上的ActionEvent事件

单击某个菜单项可以发生ActionEvent事件。

13.5、有关菜单的几个技巧

1.增加菜单分割线

假设menu1是Menu的一个实例,增加分割线的方法:

menu1.add("新建");

menu1.addSeparator();  //分割线

menu1.add("保存");

2.复选框菜单项

item1=new CheckboxMenuItem("新建");

3.嵌入子菜单

Menu是MenuItem的子类,因此菜单项本身还可以是一个菜单。

4.设置菜单项的快捷键

MenuShortcut(int key);  //key取值KeyEvent.VK_A至KeyEvent.VK_Z,也可以取a至z。