Java CheckboxMenuItem get/setState 个条目

Java CheckboxMenuItem get/setState entries

几个小时前我问过(参见: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(boolean);,但方法未知。

我做错了什么?谢谢。

您应该像这样将 getItem 返回的 JMenuItem 转换为 CheckboxMenuItem:

((CheckboxMenuItem)notiSET.getItem(0)).setState(boolean)