Ecoute des événements d’une fenêtre

Adobe AIR 1.0 et les versions ultérieures

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.)