Remplir une comboBox à partir d'une autre combobox
j'ai 3 combobox.
Je souhaite remplir la 2nde ComboBox en fonction de l'élément selectionner dans la 1ère. Ensuite, la même chose pour la 3ème en fonction de la 2nde.
j'ai utilisé action listener et j'ai l'appelé dans actionPerformed
mon code s’exécute bien mais j'ai un problème pour supprimer l'ancien items dans chaque combobox, j'ai recu le message d'erreur suivant :
Code:
1 2
| Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at test.Prin$Deuxieme_combo.actionPerformed(Prin.java:154) |
l'erreur c'est au niveau deuxieme combo
java : 154
Code:
if(ComboB.getSelectedItem().equals("C"))
mon code pour le premier combobox est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| lass Premier_combo implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
if(ComboA.getSelectedItem().equals("A"))
{
ComboB.removeAllItems();
ComboB.addItem("C");
}
else
if(ComboA.getSelectedItem().equals("B"))
{
ComboB.removeAllItems();
ComboB.addItem("D");
}
}
} |
Code:
1 2 3 4 5
| private void ComboAActionPerformed(java.awt.event.ActionEvent evt) {
Premier_combo premier = new Premier_combo();
ComboA.addActionListener(premier);
} |
le code de deuxieme combobox est les suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Deuxieme_combo implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
if(ComboB.getSelectedItem().equals("C"))
{
ComboC.removeAllItems();
ComboC.addItem("E");
}
else
if(ComboB.getSelectedItem().equals("D"))
{
ComboC.removeAllItems();
ComboC.addItem("F");
}
}
} |
Code:
1 2 3 4 5 6
| private void ComboBActionPerformed(java.awt.event.ActionEvent evt) {
Deuxieme_combo deuxieme= new Deuxieme_combo();
ComboB.addActionListener(deuxieme);
} |
mon problème normalement c'est au niveau suppression des anciens items mais j'ai pas trouvé une autre solution car j'ai besoin d'éliminer les anciens.