Event et Listener en Java
La modification de l’état d’un objet est appelée Event. Par exemple, cliquez sur le bouton, faites glisser la souris, etc. Le package java.awt.event fournit de nombreuses classes d’Events et interfaces de Listeners pour la gestion des événements.
Classes Events et interfaces Listeners
ActionEvent | ActionListener | Cette interface est utilisée pour recevoir les événements d’action. |
MouseEvent | MouseListener et MouseMotionListener | Cette interface est utilisée pour recevoir les événements de souris. |
KeyEvent | KeyListener | Cette interface est utilisée pour recevoir les événements des touches. |
ItemEvent | ItemListener | Cette interface est utilisée pour recevoir les événements d’élément. |
TextEvent | TextListener | Cette interface est utilisée pour recevoir les événements de texte. |
AdjustmentEvent | AdjustmentListener | Cette interface est utilisée pour recevoir les événements d’ajustement. |
WindowEvent | WindowListener | Cette interface est utilisée pour recevoir les événements de l’objet window. |
ComponentEvent | ComponentListener | Cette interface est utilisée pour recevoir les événements des composants. |
ContainerEvent | ContainerListener | Cette interface est utilisée pour recevoir les événements de conteneur. |
Gestion des événements:
Les étapes suivantes sont requises pour effectuer la gestion des événements:
– Enregistrez le Listener sur un composant.
Pour enregistrer un Listener sur un composant, de nombreuses classes fournissent les méthodes d’enregistrement. Par exemple:
- Classe Button : public void addActionListener(ActionListener a){}
- Classe TextArea : public void addTextListener(TextListener a){}
- Classe Checkbox : public void addItemListener(ItemListener a){}
- Classe MenuItem : public void addActionListener(ActionListener a){}
- Classe TextField : public void addTextListener(TextListener a){}
Exemple ActionListener:
import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; //1ère étape public class MyJButtonActionListener implements ActionListener { private static JTextField text; public static void main(String[] args) { JFrame frame = new JFrame("Exemple ActionListener"); text = new JTextField(); text.setBounds(45,50,150,20); JButton btn = new JButton("Cliquez ici"); btn.setBounds(70,100,100,30); MyJButtonActionListener instance = new MyJButtonActionListener(); //2ème étape btn.addActionListener(instance); frame.add(btn); frame.add(text); frame.setSize(250,250); frame.setLayout(null); frame.setVisible(true); } //3ème étape public void actionPerformed(ActionEvent e){ text.setText("Welcome to WayToLearnX"); } }
Sortie: