几小时前我问过(see: Java CheckboxMenuItem get/setState)
我如何改变CheckBoxMenuItem
的状态。
用户GhostCat
正确地向我建议,为了更改状态,我必须告诉对象的条目其值。
我的菜单:
Menu notiSET = new Menu("Benachrichtigungen");
CheckboxMenuItem ns1 = new CheckboxMenuItem("On");
CheckboxMenuItem ns2 = new CheckboxMenuItem("Off");
我尝试使用notiSET.countItems()
,这正确地给了我2
作为答案。
之后我用
System.out.println(notiSET.getItem(0));
System.out.println(notiSET.getItem(1));
识别条目。
输出:
java.awt.CheckboxMenuItem[chkmenuitem0,label=On,state=false]
java.awt.CheckboxMenuItem[chkmenuitem1,label=Off,state=false]
现在我正在尝试从state=false
更改chkmenuitem0
的值。
我尝试使用notiSET.getItem(0).
setState(布尔值) ;
,但该方法未知。
我做错了什么?感谢。
答案 0 :(得分:0)
你应该将getItem返回的JMenuItem强制转换为CheckboxMenuItem:
((CheckboxMenuItem)notiSET.getItem(0)).setState(boolean)