Bonjour,
Je souhaite cocher toute une liste de noms située à gauche de mon interface lorsque l'utilisateur coche la JCheckBox, nommée "CKBX_20_ClasseEntiere" qui lui propose cette option.
Ma liste de JCheckBox est un tableau de JCheckBox, nommé "tab_CHK_Eleves". Elle est ajoutée dans un Panel nommé PAN_ListeElevesDevoir.
Au départ on voit que j'ai écrit quelques lignes pour la trier alphabétiquement.

Lorsque l'utilisateur valide la bonne division via "BTN_CreerDevoir_InformationsValider" la liste de JCheckbox s'affiche correctement.
Cependant lorsque, via "CKBX_20_ClasseEntiere", je souhaite cocher tous ces JCheckBox cela m'est impossible.
J'ai ajouté une ligne " System.out.println(c.getText());" pour vérifier que cette liste était bien connue, accessible depuis ma boucle: pas de problème, la liste de noms s'affiche.
Je me demande donc d'où vient mon problème. Qu'est ce qui m'échappe?
Merci par avance.

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
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
 
public void actionPerformed(ActionEvent e){
 
                String nomClasse = CBX_11_Classes_CreerDevoir_Informations.getSelectedItem().toString();
                JCheckBox[] tab_CHK_Eleves;
                Classe classe = L_Classes.obtenirListeClasses().get(nomClasse);
                tab_CHK_Eleves = new JCheckBox[classe.quelleListe().size()];
                Collection<Eleve> c_Eleves = classe.quelleListe().values();
                int i=0; 
                ArrayList<String> liste = new ArrayList<>();
                for(Eleve eleve : c_Eleves)
                {
                   liste.add(eleve.nom+"  "+eleve.prenom);
                }
                Collections.sort(liste);
                for (int j=0;j<liste.size();j++)
                {
                   tab_CHK_Eleves[i] = new JCheckBox(liste.get(j));
                   tab_CHK_Eleves[i].setBackground(new Color(200, 173, 127));
                   i++;
                }
                ////////////////////////////////////////////////////////
                if(e.getSource() == BTN_CreerDevoir_InformationsValider)
                {
                    if(TXT_21_CreerDevoir_Informations.getText().equals(""))
                    {
                        JOptionPane jop = new JOptionPane();
                        jop.showMessageDialog(this, "Vous n'avez pas précisél'intitulé du devoir.");
                     }
                    else
                    {
                       PAN_CreerDevoir_Informations.setEnabled(false);
                       LBL_10_Informations.setEnabled(false);
                       CBX_11_Classes_CreerDevoir_Informations.setEnabled(false);
                       LBL_20_Informations.setEnabled(false);
                       TXT_21_CreerDevoir_Informations.setEnabled(false);
                       BTN_CreerDevoir_InformationsValider.setEnabled(false);
                       PAN_CreerDevoir_Informations.setBorder(BorderFactory.createTitledBorder(line1, "Informations générales"));
 
                       PAN_CreerDevoir_ListeEleves.setBorder(BorderFactory.createTitledBorder(line2, "Liste des élèves"));
                       PAN_CreerDevoir_ListeEleves.setEnabled(true);
                       LBL_10_PAN_CreerDevoir_ListeEleves_Gauche.setEnabled(true);
                       CKBX_20_ClasseEntiere.setEnabled(true);
                       BTN_CreerDevoir_ListeElevesValider.setEnabled(true);
 
                       ///Création de la liste des élèves de la classe 
                       PAN_ListeElevesDevoir.setLayout(new BoxLayout(PAN_ListeElevesDevoir, BoxLayout.Y_AXIS));
                       for(JCheckBox c: tab_CHK_Eleves)
                       {
                            PAN_ListeElevesDevoir.add(c);
                       }
                       PAN_ListeElevesDevoir.setBackground(new Color(200, 173, 127));
                       PAN_Arbre.setVisible(false);
                       btn_A.setVisible(false);
                       btn_B.setVisible(false);
                       PAN_Listes.add(PAN_ListeElevesDevoir,"ListeElevesDevoir");
                       pile_Listes.show(PAN_Listes, "ListeElevesDevoir");
                     }
                }
                ////////////////////////////////////////////////////////
                if(e.getSource() == CKBX_20_ClasseEntiere){
                   for(JCheckBox c: tab_CHK_Eleves)
                   {
                      c.setSelected(true);
                      System.out.println(c.getText());
                   }
                }
                ////////////////////////////////////////////////////////
                if(e.getSource() == BTN_CreerDevoir_ListeElevesValider)
                {
 
                }
 
 
        }