У меня есть JRadioButtonMenuItem в моей программе, которую я могу проверить, чтобы сделать некоторые действия, поэтому мне нужно получить состояние этого предмета (CHECKED
или UNCHECKED
).Как получить состояние JRadioButtonMenuItem в другом классе?
Так что, когда я пытаюсь получить состояние с помощью метода isSelected()
в том же классе, где объявлен JRadioButtonMenuItem
, он работает.
Но когда я пытаюсь получить его в другом классе, благодаря получателя я получаю 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)
Каждый имеет идея?
Почему itemJour объявлен как статический? Почему getItemJour() объявлен как статический? Если это действительно статично, вы должны вызвать его, используя MainVue.getItemJour() – FredK
Я действительно пробовал с MainVue.getItemJour(), но я получаю ту же ошибку. Спасибо за ваш ответ, хотя @FredK – DeveloppeurDuTurfu