10.菜单

  • Post author:
  • Post category:其他



有两种类型的菜单:下拉式菜单和弹出式菜单。


本章只讨论下拉式菜单编程方法。菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的。菜单与JComboBox的相同之处是每次只可选择一个项目。






在下拉式菜单或弹出式菜单中选择一个选项就产生一个ActionEvent事件。该事件被发送给那个选项的监视器,事件的意义由监视器解释。

菜单条、菜单和菜单项


下拉式菜单通过出现在菜单条上的名字可视化表示,菜单条(JMenuBar)通常出现在JFrame的顶部,一个菜单条显示多个下拉式菜单的名字。可以用两种方式来激活下拉式菜单。一种是按下鼠标的按钮,并保持按下状态,移动鼠标,直至释放鼠标完成选择,高亮度显示的菜单项即为所选择的。另一种方式是当光标位于菜单条中的菜单名上时,点击鼠标,在这种情况下,菜单会展开,且高亮度显示菜单项。






一个菜单条可以放多个菜单(JMenu),每个菜单又可以有许多菜单项(JMenuItem)。


例如,Eclipse环境的菜单条有File、Edit、Source、Refactor等菜单,每个菜单又有许多菜单项。例如,File菜单有New、Open File、Close 、Close All等菜单项。






向窗口增设菜单的方法是:先创建一个菜单条对象,然后再创建若干菜单对象,把这些菜单对象放在菜单条里,再按要求为每个菜单对象添加菜单项。




菜单中的菜单项也可以是一个完整的菜单。由于菜单项又可以是另一个完整菜单,因此可以构造一个层次状菜单结构。






1.菜单条




类JMenuBar的实例就是菜单条。例如,以下代码创建菜单条对象menubar:




JMenuBar menubar = new JMenuBar();




在窗口中增设菜单条,必须使用JFrame类中的setJMenuBar()方法。例如,代码:




setJMenuBar(menubar);



版权声明:本文为u013806647原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。