JRadioButton et actionListeners
Bonjour,
Je suis ultra débutante en Java. Je bloque sur une récupération de valeurs passées dans des boutons Radio. J'ai lu à peu près tout ce que j'ai pu trouver sur Google à ce sujet mais je ne trouve pas la solution.
J'ai deux classes : une qui construit une fenêtre qui liste 3 réponses possibles à une question (comme un quizz).
Dans cette classe je récupère bien une liste de 3 boutons radios avec les textes des réponses qui vont bien.
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
|
JRadioButton[] radios = new JRadioButton[3];
ButtonGroup groupe = new ButtonGroup();
// On boucle pour récupérer la liste des réponses
for (int x = 0; x<listeRep.size(); x++) {
// on convertit l'élément x du tableau en Reponse r
Reponse r = (Reponse) listeRep.get(x);
// on applique les méthodes de Reponse à r
String texter = r.getTexter();
if (texter.length() > 60)
texter= texter.substring(0,60) + "...";
int idReponse = r.getIdr();
int valeur = r.getValeur();
radios[x] = new JRadioButton(texter, true);
radios[x].setActionCommand("coche"+x);
radios[0].setSelected(true);
// les écouteurs
radios[x].addActionListener (ecouteurQ);
groupe.add(radios[x]); // Ajout des boutons au groupe
centre.add (radios[x]); // ajout des boutons au panneau centre
}// fin boucle
// BOUTON VALIDER REPONSE
Icon valid = new ImageIcon("images/p_valider.gif");
JButton butValider = new JButton("Valider", valid);
butValider.setToolTipText("Valider votre réponse");
butValider.addActionListener(ecouteurQ);
centre.add(butValider); // Ajout du bouton au panneau centre |
Là où je n'arrive pas à m'en sortir c'est dans la classe d'écoute. J'ai essayé plein de choses, mais à chaque fois, je bloque sur la récupération du bouton qui chez moi est un tableau.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public void actionPerformed(ActionEvent e) {
String m = e.getActionCommand();
Object quoi=e.getSource(); //recuperation de l'objet qui à provoqué l'événement
if (quoi == radios[x]){
System.out.println("action sur le bontou = : " +x);
}
if (m == "Valider"){
System.out.println("numéro question dans EcranQuizzEcoute = : " + num);
System.out.println("radio[0] :"+radios[0].isSelected()+
"radio[1] :"+radios[1].isSelected()+
"radio[2] :"+radios[2].isSelected());
(...)
}
(...)
} |
Quelqu'un pourrait-il me mettre sur la voie ? Je vous en remercie d'avance :)