我的程序中有一个JRadioButtonMenuItem,我可以检查以执行某些操作,因此我需要获取此项的状态(CHECKED
或UNCHECKED
)。
因此,当我尝试在声明isSelected()
的同一个类中使用JRadioButtonMenuItem
方法获取状态时,它可以正常工作。
但是当我尝试在另一个类中使用它时,感谢 getter, ,我得到了java.lang.NullPointerException。
这是我的JRadioButtonMenuItem所在的类:
MainVue.java
:
public class MainVue extends JFrame implements ActionListener {
private static JRadioButtonMenuItem itemJour;
this.itemJour = new JRadioButtonMenuItem("Jour");
public static JRadioButtonMenuItem getItemJour() {
return itemJour;
}
}
然后这是我想要获得项目实际状态的类。
ModeleListePush.java
public class ModeleListePush extends AbstractTableModel {
private MainVue mv;
private boolean jour = false;
public ModeleListePush(Modele modele, Controleur controleur) {
super();
this.modele = modele;
this.controleur = controleur;
jour = MainVue.getItemJour().isSelected();
System.out.println(jour);
}
}
当我执行代码时,我遇到了这个问题:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at views.MainVue.getItemJour(MainVue.java:372)
at modele.ModeleListePush.<init>(ModeleListePush.java:30)
任何人都有想法?
答案 0 :(得分:2)
好吧,你实际上从未实际实例化JRadioButton。这会导致空指针异常。
另外,检查状态的一种更有效的内存方式可能是返回一个从isSelected
派生的布尔值。