Pour écouter les événements distribués par une fenêtre, enregistrez un écouteur avec l’occurrence de la fenêtre. Par exemple, pour écouter un événement closing, enregistrez un écouteur avec la fenêtre, comme suit :
myWindow.addEventListener(Event.CLOSING, onClosingEvent);
Lorsqu’un événement est distribué, la propriété
target
référence la fenêtre qui envoie l’événement.
La plupart des événements de fenêtre sont associés à deux messages. Le premier message signale l’imminence d’une modification au niveau de la fenêtre (modification pouvant être annulée) ; le second message indique que la modification a été effectuée. Par exemple, lorsqu’un utilisateur clique sur le bouton de fermeture d’une fenêtre, le message de l’événement closing est distribué. Si aucun écouteur n’annule l’événement, la fenêtre se ferme et l’événement close est distribué à l’un des écouteurs.
En règle générale, les événements d’avertissement, tels que
closing
, ne sont distribués que lorsque le chrome système a été utilisé pour déclencher un événement. L’appel de la méthode
close()
, par exemple, ne distribue pas automatiquement l’événement
closing
; seul l’événement
close
est distribué. Vous pouvez toutefois créer un événement closing et le distribuer à l’aide de la méthode
dispatchEvent()
de la fenêtre.
Les événements de fenêtre qui distribuent un objet Event sont les suivants :
Evénement
|
Description
|
activate
|
Distribué lorsque la fenêtre reçoit le focus.
|
deactivate
|
Distribué lorsque la fenêtre perd le focus.
|
closing
|
Distribué lorsque la fenêtre est sur le point de se fermer. Cet événement ne se produit automatiquement que lorsque l’utilisateur appuie sur le bouton de fermeture du chrome système ou, sous OS X, lorsque la commande Quitter est invoquée.
|
close
|
Distribué lorsque la fenêtre a été fermée.
|
Les événements de fenêtre qui distribuent un objet NativeWindowBoundsEvent sont les suivants :
Evénement
|
Description
|
moving
|
Distribué immédiatement avant que le coin supérieur gauche de la fenêtre change de position, suite au déplacement, au redimensionnement ou à la modification de l’état d’affichage de la fenêtre.
|
move
|
Distribué après que le coin supérieur gauche de la fenêtre a changé de position.
|
resizing
|
Distribué immédiatement avant que la largeur ou la hauteur de la fenêtre change, suite au redimensionnement ou à la modification de l’état d’affichage de la fenêtre.
|
resize
|
Distribué après que la taille de la fenêtre a changé.
|
Pour les événements NativeWindowBoundsEvent, vous pouvez utiliser les propriétés
beforeBounds
et
afterBounds
pour déterminer les limites de la fenêtre avant une modification imminente ou après avoir effectué une modification.
Les événements de fenêtre qui distribuent un objet NativeWindowDisplayStateEvent sont les suivants :
Evénement
|
Description
|
displayStateChanging
|
Distribué immédiatement avant que l’état d’affichage de la fenêtre change.
|
displayStateChange
|
Distribué une fois l’état d’affichage de la fenêtre modifié.
|
Pour les événements NativeWindowDisplayStateEvent, vous pouvez utiliser les propriétés
beforeDisplayState
et
afterDisplayState
pour déterminer l’état d’affichage de la fenêtre avant une modification imminente et après avoir effectué une modification.
Dans certains gestionnaires de fenêtres Linux, aucun événement de modification de l’état d’affichage n’est distribué lors de l’agrandissement d’une fenêtre possédant un paramètre de taille maximale. (La fenêtre est définie sur l’état d’affichage maximal, mais n’est pas redimensionnée.)