salut,

j'ai un problème concernant la remplissage de jList

j'ai un jComboBox qui est rempli automatiquement de la base de donne

et ca marche


j'ajoute un bouton et je fait un test .

selon mon choix il rempli le jList et ca marche avec sucée voila le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    private void validerActionPerformed(java.awt.event.ActionEvent evt) {                                        
 
 
 
 String choix = jComboBox1.getSelectedItem().toString();
 
 
          v = new Vector<Enseignant>();
        Iterator<Enseignant> l = eDB.findAll().iterator();
        while (l.hasNext()) {
            Enseignant e = l.next();
            if(e.getPU().equalsIgnoreCase(choix))
            {
                v.add(e);
                jList1.setListData(v);
 
        }
 
 
        }
}

avec biensur la déclaration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 Vector<Enseignant> v;
         EnseignantDB eDB = new EnseignantDB();
et pour la classe EnseigantDB j'ai une méthode findAll() qui retourne une liste d'enseignant.


mon problème qui quant je clique pour la première fois sur le bouton il rempli jList avec l'enseignant qui vérifier la condition

ca marcha avec sucé mais quant je clique pour la deuxième fois il m'affiche c vrai le résultat juste mais 2 fois

de même quant je clique pour la troisième fois il m'affiche 3 fois

j'essaye avec cette manière : au debut de code pour le bouton j'ajoute

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void validerActionPerformed(java.awt.event.ActionEvent evt) {                                        
jList1.removeAll();
 
 
 String choix = jComboBox1.getSelectedItem().toString();
 
 
          v = new Vector<Enseignant>();
        Iterator<Enseignant> l = eDB.findAll().iterator();
        while (l.hasNext()) {
            Enseignant e = l.next();
            if(e.getPU().equalsIgnoreCase(choix))
            {
                v.add(e);
                jList1.setListData(v);
 
        }
 
 
        }
}

mais le problème reste le même

merci d'avance