AWT中的菜单由如下几个类组合而成:
(1)MenuBar:菜单条,菜单的容器。
(2)Menu:菜单组件,菜单项的容器。它也是MenuItem的子类,所以可作为菜单项使用。
(3)PopupMenu:上下文菜单组件(右键菜单组件)。
(4)MenuItem:菜单项组件。
(5)CheckboxMenuItem:复选框菜单组件。
(6)MenuShortcut:菜单快捷键组件。
MenuItem可以接受一个MenuShortcut对象,该对象用于指定该菜单的快捷键。MenuShortcut类使用虚拟键代码(而不是字符)来创建快捷键。例如Ctrl-A(通常都以Ctrl键作为快捷键的辅助键)快捷方式通过以下代码创建:
MenuShortcut ms=new MenuShortcut(KeyEvent.VK_A) ;
//创建exitItem菜单项,指定使用Ctrl+X快捷键
MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
创建了MenuItem、Menu和MenuBar对象之后,
(1)调用Menu的add方法将多个MenuItem组合成菜单(也可将另一个Menu对象组合进来,从而形成二级菜单)。
(2)再调用MenuBar的add方法将多个Menu组合成菜单条。
(3)最后调用Frame对象的setMenuBar为该窗口添加菜单条。
要将菜单放入Frame对象中,先得把菜单放入菜单条MenuBar中,再把菜单条放入Frame中才行,否则菜单无法放入Frame中。
PopupMenu代表上下文菜单,上下文菜单无须使用MenuBar盛装。