JMenuBar,JMenu,JMenuItem的关系

时间:2023-01-27 00:02:45
在一个窗口中,我们经常需要给窗口添加菜单条。在 Java 中这一部分是由三个类实现的,它们是JMenuBar、JMenu和JMenuItem,分别对应菜单条、菜单和菜单项。
同时,可以给JMenuItem注册侦听器,但不能对JMenuBar,JMenu注册侦听器.

一、菜单条(JMenuBar)
  JMenuBar 的构造方法是 JMenuBar(),相当简单。在构造之后,还要将它设置成窗口的菜单条,这里要用 setJMenuBar 方法:
  JMenuBar TestJMenuBar=new JMenuBar();
  TestFrame.setJMenuBar(TestJMenuBar);
  需要说明的是,JMenuBar 类根据 JMenu 添加的顺序从左到右显示,并建立整数索引。
二、菜单(JMenu)
  在添加完菜单条后,并不会显示任何菜单,所以还需要在菜单条中添加菜单。菜单 JMenu 类的构造方法有4种:
JMenu() 构造一个空菜单。 JMenu(Action a) 构造一个菜单,菜单属性由相应的动作来提供。 JMenu(String s) 用给定的标志构造一个菜单。 JMenu(String s,Boolean b) 用给定的标志构造一个菜单。如果布尔值为false,那么当释放鼠标按钮后,菜单项会消失;如果布尔值为true,那么当释放鼠标按钮后,菜单项仍将显示。这时的菜单称为 tearOff 菜单。
  在构造完后,使用 JMenuBar 类的 add 方法添加到菜单条中。
三、菜单项(JmenuItem)
  接下来的工作是往菜单中添加内容。 在菜单中可以添加不同的内容,可以是菜单项(JMenuItem),可以是一个子菜单,也可以是分隔符。
在构造完后,使用 JMenu 类的 add 方法添加到菜单中。
  子菜单的添加是直接将一个子菜单添加到母菜单中,而分隔符的添加只需要将分隔符作为菜单项添加到菜单中。

JMenuBar要set,JMenu要add ,JMenu在new的时候直接指定名字。