Bonjour,
Pouvez vous me dire comment cocher automatiquement une checkbox ?
J'ai essayé CB.setSelected // CB.setEnable mais sans succès...
Merci beaucoup !
Yokooo
Bonjour,
Pouvez vous me dire comment cocher automatiquement une checkbox ?
J'ai essayé CB.setSelected // CB.setEnable mais sans succès...
Merci beaucoup !
Yokooo
quel type de checkbox? Il y a plein de classe "checkbox" en java![]()
Il faudrait préciser de quel composant tu parles !
Est-ce que tu utilises du SWT, du AWT, ou autre ?
Voila je vais vous poster la manière dont je procède :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public Panel() { this.cbA = new JCheckBox(); this.cbB = new JCheckBox(); this.cbC = new JCheckBox(); ... public HashMap<String, ArrayList<String>> getTagSuffixs() { if (this.cbA.isSelected()) { System.out.println("C'est bon"); cbB.setEnabled(); cbC.setEnabled(); }
Voila, en gros si je coche A je veux que B et C le soit également. J'ai zappé pas mal de code inutile, j'ai pas tout mis.
Merci
c'est setSelected(true/false) pour changer l'état d'un JCheckBox. setEnabled(false/true) permet de griser ou non la composant (et le rendre ou non utilisable par l'utilisateur). Bien sur, si tu veux un changement automatique (je coche A, ça coche B et C), il faut ajouter un itemListener à A (cbA.addItemListener) et dans le listener, methode itemStateChanged, faire le travail:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ cbB.setSelected(); cbC.setSelected(); }
Parfait tout fonctionne, j'explique vite fait pour ceux que ça pourrait aider. J'ai rajouté une classe interne à mon autre classe :
et après la création de ma check box cbA j'ai rajouté cette ligne qui crée un listener :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class ItemState implements ItemListener{ public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ cbB.setSelected(true); cbC.setSelected(true); } } }
Encore merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part cbA.addItemListener(new ItemState());![]()
Hummm par contre je voulais faire l'inverse mais je ne vois pas comment faire.
Je m'explique... par exemple j'ai une check box "Boite 1" avec à côté 3 check box "Bille 1", "Bille 2" et "Bille 3"
En gros si je clique sur Bille 1, Bille 2 ou Bille 3 à côté de ma boite 1, elle se sélectionne automatiquement et si je clique sur Bille 1, Bille 2 ou Bille 3 à côté de ma boite 2, elle se sélectionne également. Sachant que j'ai plusieurs boites.
J'ai imbriqué mes listener dans ma boucle "for" qui scrute mes boites mais je rencontre un problème lors de la création de ma classe ItemState car il faudrait que je puisse récupérer ma variable i (qui correspond au numéro de la boite)
Dans ma boucle for :
Me suis je bien exprimer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 bille1[i].addItemListener(new State()); bille2[i].addItemListener(new State()); bille3[i].addItemListener(new State());
P.S: Modification effectuée, je m'étais trompé dans mon explication
Partager