Extrait du formation Java avancé
3 Evènements
3.1 Notion d’event listener
Pour pouvoir gérer les évènements qui se produisent il faut implémenter l’interface correspondant à l’évènement.
3.2 Exemple d’event listener
Ainsi par exemple pour etre notifié des changements d’un JTextField, la classe Toto doit avoir le squelette suivant:
class Toto implements java.awt.event.ActionListener {
public void actionPerformed(java.awt.event.ActionEvent e) {
// …
}
}
et pour enregistrer une instance de Toto auprès d’une instance de JTextField :
JTextField text = new JTextField();
Toto toto = new Toto();
text.addActionListener(toto);
3.3 Autre exemple d’event listener
Ainsi par exemple pour etre notifié des changements d’un JSlider, la classe Toto doit avoir le squelette suivant:
class Toto implements javax.swing.event.ChangeListener {
public void stateChanged(javax.swing.event.ChangeEvent e) {
// …
}
}
et pour enregistrer une instance de Toto auprès d’une instance de JSlider :
JSlider slider = new JSlider(javax.swing.JSlider.HORIZONTAL,0,50,100);
Toto toto = new Toto();
slider.addChangeListener(toto);
3.4 Event Listener possibles
Voici une liste non exhaustive des évènements possibles:
• Action Listener se déclenche pour un bouton pressé, pour un item de menu choisi, pour un champ textuel modifié.
• Caret Listener se déclenche quand dans un éditeur le curseur est bougé ou du texte est sélectionné.
• Change Listener permet d’etre notifié des changements dans un JSlider, un JColor Chooser ou bien un JSpinner.
• ItemListener permet de savoir quand un item est sélectionné ou non, en particulier dans les JCheckBox, les JComboBox et les JCheckBoxMenuItem.
• WindowListener permet de récupérer auprès d’une fenetre les évènements de d’ouverture, de fermeture, d’activation, de désactivation, d’iconification, et de desiconification.
Un tableau récapitulatif est présent à l’URL :
http://java.sun.com/docs/books/tutorial/uiswing/events/eventsandcomponents.html
……
Formation Java avancé présentation de Swing avec exercices (164 KO) (Cours PDF)