如何在另一个类中获取JRadioButtonMenuItem的状态?

时间:2015-08-14 15:09:05

标签: java nullpointerexception jradiobutton

我的程序中有一个JRadioButtonMenuItem,我可以检查以执行某些操作,因此我需要获取此项的状态(CHECKEDUNCHECKED)。

因此,当我尝试在声明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) 

任何人都有想法?

1 个答案:

答案 0 :(得分:2)

好吧,你实际上从未实际实例化JRadioButton。这会导致空指针异常。

另外,检查状态的一种更有效的内存方式可能​​是返回一个从isSelected派生的布尔值。