Probleme actionListener

Michel -  
 Michel -
Bonjour, je souhaite dans un programme java (eclipse) gérer les cliks dans une classe interne délégué Gérer bouton.
Je définis la méthod actionPerformed et je teste à chaque fois la source du click afin de gérer les évenements associés.
Seulement je viens d'implémenter dans mon code un JComboBox et je souhaite de meme gérer les cliks sur ses différents choix:
voic un bout de mon code :

private class GererBouton implements ActionListener
{
public void actionPerformed(ActionEvent e)
{


// choix du pseudo :
if (e.getSource() == Graphique.this.choixPseudo)

{
String selection = Graphique.this.choixPseudo.getSelectedItem().toString();
System.out.println(selection);
}


//Nouvelle Partie :

if(((JButton) e.getSource()).getText()=="Nouvelle partie" )
{


Précision :- mon JComboBox se nomme "choixPseudo"
- celui ci a un bien un écouteur sur cette classe
- Celui ci est géneré par le champ "pseudo" de ma table Joueur d'une base MYSQL(la génération ne pose pas de pb

Je souhaite récupérer la source du click dans le comboBox dans une variable("selection").

et voici l'erreur que m'affiche la console d'éclipse :

Exception in thread "main" gg
java.lang.ClassCastException: javax.swing.JComboBox cannot be cast to javax.swing.JButton
at Graphique$GererBouton.actionPerformed(Graphique.java:547)
at javax.swing.JComboBox.fireActionEvent(Unknown Source)
at javax.swing.JComboBox.contentsChanged(Unknown Source)
at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source)
at javax.swing.DefaultComboBoxModel.setSelectedItem(Unknown Source)
at javax.swing.DefaultComboBoxModel.addElement(Unknown Source)
at javax.swing.JComboBox.addItem(Unknown Source)
at Graphique.pseudo(Graphique.java:513)
at Graphique.verificationI(Graphique.java:462)
at Graphique.main(Graphique.java:1158)


("gg") est le premier pseudo de ma table Joueur
Il y a un pb de convertion mais je ne vois pas pourquoi! Merci d'avance!

1 réponse

Michel
 
Je viens de me rendre compte que le probleme n'est pas là , il vient plutot de ce code :

nouvellePartie= new JButton("Nouvelle partie");
nouvellePartie.addActionListener(gestionnaire);
quitter = new JButton("Quitter");
quitter.addActionListener(gestionnaire);
//JComboBox dont l'écouteur est la classe interne gestionnaire
// On instancie notre classe gestionnaire délégué
//
choixPseudo = new JComboBox();
choixPseudo.setVisible(false);
// C'est la ligne suivante qui pose problème
choixPseudo.addActionListener(gestionnaire);
0