Ajouter un événement à un Bouton en Java Swing
Dans ce tutoriel nous allons découvrir comment ajouter un événement à un Bouton en Java Swing, ou bien comment savoir si Jbutton est cliqué.
JButton listener
En bref, vous souhaitez généralement ajouter un ActionListener à un JButton, comme indiqué dans l’extrait de code suivant:
JButton btn = new JButton("Bouton");
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//afficher le jdialog lorsque le bouton est cliqué
JDialog dialog = new JDialog(frame, "Welcome to WayToLearnX", true);
dialog.setLocationRelativeTo(frame);
dialog.setVisible(true);
}
});
Placez le code dans la méthode actionPerformed de la classe ActionListener que vous souhaitez exécuter lorsque le bouton est cliqué. Il existe plusieurs façons d’Implémenter cela:
- Implémentez-le comme indiqué ci-dessus
- Demandez à votre classe d’implémenter un ActionListener
- Créez une autre classe en tant que ActionListener
Exemple Complet: En implémentant l’interface ActionListener
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class JDialogExemple extends JFrame implements ActionListener {
static JFrame frame;
public static void main(String[] args)
{
// créer un frame
frame = new JFrame("Exemple JDialog");
// créer un objet
JDialogExemple obj = new JDialogExemple();
// créer un panneau
JPanel panel = new JPanel();
JButton btn = new JButton("Cliquez ici");
// ajouter un listener au bouton
btn.addActionListener(obj);
// ajouter le bouton au panneau
panel.add(btn);
frame.add(panel);
frame.setSize(300, 300);
frame.show();
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if(s.equals("Cliquez ici"))
{
// Créer une boîte de dialogue
JDialog d = new JDialog(frame, "Boite de dialogue");
// Créer une étiquette
JLabel l = new JLabel("Ceci est une boite de dialogue.");
// Ajouter l'étiquette à la boîte de dialogue
d.add(l);
// Définir la taille de la boîte de dialogue
d.setSize(200, 100);
// Définir la visibilité de la boîte de dialogue
d.setVisible(true);
}
}
}
Sortie:


