Problème avec ItemStateChanged (pour Combobox)
Bonjour,
j'ai plusieurs Combobox que je modifie lorsque je choisi dans dans une autre Combo un élement.
Souci c'est que j'ai des erreur d'exéctution. et je ne sais pas pourquoi.
Voici donc mon bout de code et l'erreur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| private void jS201ItemStateChanged(java.awt.event.ItemEvent evt) {
jS206.removeAllItems();
if (jS201.getSelectedIndex()==0||jS201.getSelectedIndex()==1)
{
jS206.addItem("868 - 868.6MHz");
jS206.addItem("868.6 - 868.7MHz");
jS206.addItem("868.7 - 869.2MHz");
jS206.addItem("869.2 - 869.25MHz");
jS206.addItem("869.25 - 869.3MHz");
jS206.addItem("869.3 - 869.4MHz");
jS206.addItem("869.4 - 869.65MHz");
jS206.addItem("869.65 - 869.7MHz");
jS206.addItem("869.7 - 870MHz");
}
else
{
jS206.addItem("868 - 868.6MHz");
jS206.addItem("868.7 - 869.2MHz");
jS206.addItem("869.4 - 869.65MHz");
jS206.addItem("869.7 - 870MHz");
}
}
private void jS206ItemStateChanged(java.awt.event.ItemEvent evt) {
jS202.removeAllItems();
jS200.removeAllItems();
if (jS206.getSelectedItem().equals("869.7 - 870MHz"))
{
jS202.addItem("1mW");
jS202.addItem("3mW");
}
else
{
if ((jS206.getSelectedItem().equals("868.6 - 868.7MHz"))||(jS206.getSelectedItem().equals("869.2 - 869.25MHz"))||(jS206.getSelectedItem().equals("869.25 - 869.3MHz"))||(jS206.getSelectedItem().equals("869.3 - 869.4MHz"))||((jS201.getSelectedIndex()==1)&&((jS206.getSelectedItem().equals("869.4 - 869.65MHz"))||(jS206.getSelectedItem().equals("869.65 - 869.7MHz")))))
{
jS202.addItem("1mW");
jS202.addItem("3mW");
jS202.addItem("8mW");
}
else
{
jS202.addItem("1mW");
jS202.addItem("3mW");
jS202.addItem("8mW");
jS202.addItem("25mW");
}
}
if ((jS206.getSelectedItem().equals("868.6 - 868.7MHz"))||(jS206.getSelectedItem().equals("869.3 - 869.4MHz")))
{
for (int i=0; i<=3;i++)
{
jS200.addItem(i);
}
}
else
{
if ((jS206.getSelectedItem().equals("868 - 868.6MHz"))&&((jS201.getSelectedIndex()==0)||(jS201.getSelectedIndex()==1)))
{
for (int i=0; i<=11;i++)
{
jS200.addItem(i);
}
}
else
{
if (((jS201.getSelectedIndex()==0)||(jS201.getSelectedIndex()==1))&&((jS206.getSelectedItem().equals("868.7 - 869.2MHz"))||(jS206.getSelectedItem().equals("869.4 - 869.65MHz"))))
{
for (int i=0; i<=9;i++)
{
jS200.addItem(i);
}
}
else
{
if ((((jS201.getSelectedIndex()==0)||(jS201.getSelectedIndex()==1))&&((jS206.getSelectedItem().equals("869.7 - 870MHz"))))||((jS201.getSelectedIndex()==2)&&(jS206.getSelectedItem().equals("868 - 868.6MHz"))))
{
for (int i=0; i<=5;i++)
{
jS200.addItem(i);
}
}
else
{
if (((jS201.getSelectedIndex()==2)&&(jS206.getSelectedItem().equals("869.7 - 870MHz")))||((jS201.getSelectedIndex()==3)&&(jS206.getSelectedItem().equals("868 - 868.6MHz"))))
{
for (int i=0; i<=2;i++)
{
jS200.addItem(i);
}
}
else
{
if (((jS201.getSelectedIndex()==2)||(jS201.getSelectedIndex()==3))&&(jS206.getSelectedItem().equals("869.4 - 869.65MHz")))
{
jS200.addItem("0");
}
else
{
if ((jS201.getSelectedIndex()==2)&&(jS206.getSelectedItem().equals("868.7 - 869.2MHz")))
{
for (int i=0; i<=4;i++)
{
jS200.addItem(i);
}
}
else
{
jS200.addItem("0");
jS200.addItem("1");
}
}
}
}
}
}
}
} |
et l'erreur :
Code:
1 2
| Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at blackbox.Main.jS206ItemStateChanged(Main.java:968) |
j'ai essai de mettre un sleep ou un wait pas de changement.
Merci de votre aide