2016-09-19 66 views
1

我在JMenu中有JMenuCheckboxItem;我希望它在JMenu顯示時反映程序選項的當前狀態。我無法弄清楚在哪裏初始化它。我爲JMenu創建了一個actionPerformed(),認爲這會在菜單顯示時激活,但根據我的調試器,它不是。我應該在哪裏調用checkboxMenuItem.setState(),以便在用戶顯示菜單時反映選項的狀態?JMenu JMenuCheckboxItem設置爲當前狀態

+0

對不起,發現它 - 添加一個菜單監聽器(addMenuListener)並實現menuSelected事件。我仍然不確定動作偵聽器會爲這個組件做些什麼。 – arcy

回答

0

可以爲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