Professional Documents
Culture Documents
MonJPanel
Evnement
Il existe un thread de la JVM charg de rcuprer les interactions utilisateurs Si on clique sur un bouton, ce thread cre un vnement (du bon type) en utilisant le bouton comme source pour le constructeur Consquences : gnralement on ne cre pas les vnements, on ne fait que les grer.
bas niveau : vnements fentre/systme et interactions bas niveau (un clique de souris sur un composant, la frappe d'une touche du clavier) Smantiques : Tout le reste (un bouton a t press)
ils contiennent une information de plus haut niveau . Ils centralisent les vnements de bas niveau : qu'on presse un bouton avec le clavier ou la souris, le rsultat est le mme pour l'application.
java.awt.AWTEvent
java.awt.event.ActionEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.MouseEvent
java.awt.event.KeyEvent
Que faut-il en faire ? Il faut les couter : tout le principe de la programmation vnementielle repose sur la dfinition des vnements et des objets qui les coutent
Un couteur est un objet destin recevoir et grer les vnements gnrs par le systme Les couteurs principaux se trouvent eux aussi dans le package java.awt.event La plupart du temps, il s'agit seulement d'une interface java : n'importe quel objet peut devenir un couteur du moment qu'il implmente les mthodes dfinies dans l'interface. Exemple :
java.awt.event.ActionListener
java.awt.event.ActionListener
Utilisation de l'couteur
On clique sur le bouton, que se passe-t-il ? Rien ne se passe : rien ne s'crit sur la sortie standard !!!!
Principe de l'coute
Par dfaut, un couteur ne rcupre pas tous les vnements produits par le systme.
Heureusement !!!!!
Il n'coute que les objets qu'on lui dit d'couter ! Donc, Il doit tre associ un objet qui gnre des vnements Ainsi, les objets qui gnrent des vnements possdent des mthodes qui permettent de leur associer des couteurs
java.awt.event.ActionListener
javax.swing.JButton
MonEcouteur
Il est possible d'ajouter plusieurs couteurs un seul objet Il est possible d'couter plusieurs objets avec un seul couteur
Problme : la source ?
On connat la source !!
Pour rsumer
Remarque
Donc, il n'y a aucune raison qu'il ne puisse pas implmenter les mthodes ncessaires
java.awt.event.MouseListener
java.awt.event.MouseListener
java.awt.event.MouseEvent
java.awt.event.MouseEvent
java.awt.event.MouseListener
java.awt.event.MouseListener
Autre exemple