Comment ajoutez-vous un ActionListener sur un JButton en Java


private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");

Comment ajouter des écouteurs d'action à ces boutons, de sorte qu'à partir d'une méthode principale, je puisse appeler actionperformed dessus, donc quand ils sont cliqués, je peux les appeler dans mon programme?

Author: montrealist, 2008-11-12

3 answers

Deux façons:

1. Implémentez ActionListener dans votre classe, puis utilisez jBtnSelection.addActionListener(this); Plus tard, vous devrez définir un menthod, public void actionPerformed(ActionEvent e). Cependant, faire cela pour plusieurs boutons peut être déroutant, car la méthode actionPerformed devra vérifier la source de chaque événement (e.getSource()) pour voir de quel bouton il provient.

2. Utiliser des classes internes anonymes:

jBtnSelection.addActionListener(new ActionListener() { 
  public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed();
  } 
} );

Plus tard, vous devrez définir selectionButtonPressed(). Cela fonctionne mieux lorsque vous avez plusieurs boutons, car vos appels à les méthodes individuelles de gestion des actions se trouvent juste à côté de la définition du bouton.

La deuxième méthode vous permet également d'appeler la méthode de sélection directement. Dans ce cas, vous pouvez appeler selectionButtonPressed() si une autre action se produit aussi - comme, quand une minuterie s'éteint ou quelque chose (mais dans ce cas, votre méthode serait nommée quelque chose de différent, peut-être selectionChanged()).

 45
Author: David Koelle, 2014-03-21 16:26:04

Votre meilleur pari est de passer en revue les Tutoriels Java Swing, en particulier le tutoriel sur les boutons.

L'extrait de code court est:

jBtnDrawCircle.addActionListener( /*class that implements ActionListener*/ );
 7
Author: Alex B, 2008-11-12 18:46:08

Je ne suis pas totalement suivi, mais pour ajouter un écouteur d'action, il suffit d'appeler addActionListener (à partir du bouton Abstrait). Si cela ne répond pas totalement à votre question, pouvez-vous fournir plus de détails?

 1
Author: AdamC, 2008-11-12 18:48:27