JMenu JMenuCheckboxItem设置为当前状态

问题描述:

我在JMenu中有JMenuCheckboxItem;我希望它在JMenu显示时反映程序选项的当前状态。我无法弄清楚在哪里初始化它。我为JMenu创建了一个actionPerformed(),认为这会在菜单显示时激活,但根据我的调试器,它不是。我应该在哪里调用checkboxMenuItem.setState(),以便在用户显示菜单时反映选项的状态?JMenu JMenuCheckboxItem设置为当前状态

+0

对不起,发现它 - 添加一个菜单监听器(addMenuListener)并实现menuSelected事件。我仍然不确定动作侦听器会为这个组件做些什么。 – arcy

可以为JCheckBoxMenuItem设置的初始状态如下

JCheckBoxMenuItem chkBoxItem = new JCheckBoxMenuItem("select me") 
    chkBoxItem.setSelected(true); 

您也可以addActionListener到chkBoxItem并得到行动命令为chkBoxItem像actionEvent.getActionCommand()

+0

正如我所说的,我希望调用菜单时的值。初始化它并不一定涵盖这种情况。而且,我可以告诉菜单项的一个动作监听器对我来说没有任何好处,我想设置菜单项的值,直到该菜单项本身被选中时才会调用它。 – arcy

+0

是否要为JCheckBoxMenuItem设置新值? – ravthiru

+0

是的 - 正如我在原始帖子的评论中所说的,我将它设置在menuSelected方法之外,包含JCheckboxMenuitem的JMenu的菜单侦听器。 – arcy