ActionListener Swing

ad -  
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,

je débute en programmation Swing et j'ai du mal à comprendre pourkoi lorsque je clic sur un bouton qui a unActionListener, l'action est déclanchée plusieurs fois ????

JButton b1 = new JButton("b1");
b1.addActionListener((ActionListener) this);

...

public void actionPerformed(ActionListener e)
{
//Ici l'action se fait plusieurs fois
}

Est ce que quelqu'un peut m'aider ?

Merci

1 réponse

kij_82 Messages postés 4260 Statut Contributeur 857
 
Voilà comment faire ton action listener sur le bouton :

Soit tu te fais une classe de bouton comme suit :
public class ClickButton extends JButton implements ActionListener {

 ClickButton ( ){
	super();
	this.addActionListener(this);
    }

// Tu implémente tes méthodes :
 public void actionPerformed ( ActionEvent e ){
  // ici ton code a faire lorsque tu clique sur le bouton
 }

}


Soit tu créé le bouton directemnent dans ton code comme suit (ce qui ressemble plus à ton cas) :
JButton b = new JButton("cliquez moi dessus ! Je suis mazo :) ");
b.addActionListener (
    new ActionListener ( ){
       // Ici tes méthodes a implémenter :
       public void actionPerformed ( ActionEvent e ){
          // Ton code a exécuter.
      } 
     // Eventuellement les autres méthodes...

    }
);


Le premier tu l'utilise uniquement lorsque tu as des traitements spéciaux à faire (dans certains type de jeu, ou de logiciel tu aura besoin...)

Bon courage :)
4