Я создаю фрейм, который содержит 3 combobox, каждый из которых зависит от другого, третий зависит от второго, а второй зависит от 1-го. Проблема заключается в том, когда я меняю первый, я получаю исключение NullPointer на 3-е, потому что это действия действия изменения для второго.jCombobox NullPointer exception
Мой вопрос: как предотвратить действие изменения предмета на 3-м jComboBox «jCombobox2», когда я меняю 1-й jComboBox «jComboBox0»?
Вот мой код:
private void jComboBox0ItemItemStateChanged(ItemEvent event) {
jComboBox1.removeAllItems();
ComboItem cat = (ComboItem) jComboBox0.getSelectedItem();
String requete = "from Subcategory where Fk_Category = " + cat.getValue();
Collection subcategories = Subcategory.getListeSubcategory(requete);
for (Iterator i = subcategories.iterator(); i.hasNext();) {
Subcategory item = new Subcategory();
item = (Subcategory) i.next();
System.out.println(item.getId());
jComboBox1.addItem(new ComboItem(item.getNom(), (int) item.getId()));
}
// System.out.println("tbdlat a lkhra ! : "+listCategory.get(0));
}
private void jComboBox1ItemItemStateChanged(ItemEvent event) {
// nda2
jComboBox2.removeAllItems();
ComboItem cat = (ComboItem) jComboBox1.getSelectedItem();
String requete = "from Area where fk_Subcategory = " + cat.getValue()+" group by Nom_Area";
Collection areas = Area.getListeArea(requete);
for (Iterator i = areas.iterator(); i.hasNext();) {
Area item = new Area();
item = (Area) i.next();
System.out.println(item.getId());
jComboBox2.addItem(new ComboItem(item.getNom(), (int) item.getId()));
}
}
private void jComboBox2ItemItemStateChanged(ItemEvent event) {
// i'll do some code here
}
1) См [Что такое трассировка стеки, и как я могу использовать его для отладки моих ошибок приложения ?] (http://stackoverflow.com/q/3988788/418556) & [Что такое исключение Null Pointer Exception и как его исправить?] (http://stackoverflow.com/q/218384/418556) 2) Чтобы лучше помочь, отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http://www.sscce.org/). –
@AndrewThompson мой вопрос как предотвратить действие изменения элемента на 3-м jComboBox «jCombobox2», когда я меняю 1-й jComboBox «jComboBox0»? – Lizinh
OK .. хороший звонок для редактирования в вопрос. Вы решили проблему с помощью моего первого комментария? Если нет, то как MCVE, как упоминалось в моем втором комментарии? –