Luisteren naar venstergebeurtenissen

Adobe AIR 1.0 of hoger

Als u wilt luisteren naar gebeurtenissen die worden verzonden door een venster, registreert u een listener bij de vensterinstantie. Als u bijvoorbeeld naar de gebeurtenis closing wilt luisteren, registreert u als volgt een listener bij het venster:

myWindow.addEventListener(Event.CLOSING, onClosingEvent); 

Wanneer een gebeurtenis wordt verzonden, verwijst de eigenschap target naar het venster dat de gebeurtenis heeft verzonden.

De meeste venstergebeurtenissen hebben twee gerelateerde berichten. Het eerste bericht geeft aan dat er een vensterwijziging ophanden is (die kan worden geannuleerd), terwijl het tweede bericht aangeeft dat de wijziging heeft plaatsgevonden. Wanneer een gebruiker bijvoorbeeld op het sluitvak van een venster klikt, wordt het bericht van de gebeurtenis closing verzonden. Als de gebeurtenis niet door listeners wordt geannuleerd, wordt het venster gesloten en wordt het bericht van de gebeurtenis close verzonden naar eventuele listeners.

Gewoonlijk worden waarschuwingsgebeurtenissen, zoals closing , alleen verzonden wanneer het systeemchroom is gebruikt om een gebeurtenis te activeren. Als bijvoorbeeld de methode close() van het venster wordt aangeroepen, wordt niet automatisch de gebeurtenis closing verzonden, maar wordt alleen de gebeurtenis close verzonden. U kunt echter een closing-gebeurtenisobject maken en dit object verzenden met de methode dispatchEvent() van het venster.

De volgende venstergebeurtenissen verzenden een Event-object:

Gebeurtenis

Beschrijving

activate

Deze gebeurtenis wordt verzonden wanneer het venster de focus krijgt.

deactivate

Deze gebeurtenis wordt verzonden wanneer het venster de focus verliest.

closing

Deze gebeurtenis wordt verzonden wanneer het venster zal worden gesloten. Dit gebeurt alleen automatisch als op het sluitvak van het systeemchroom wordt geklikt of wanneer in Mac OS X de opdracht Stop wordt aangeroepen.

close

Deze gebeurtenis wordt verzonden wanneer het venster is gesloten.

De volgende venstergebeurtenissen verzenden een NativeWindowBoundsEvent-object:

Gebeurtenis

Beschrijving

moving

Deze gebeurtenis wordt verzonden vlak voordat de positie van de linkerbovenhoek van het venster wordt gewijzigd doordat het venster wordt verplaatst of het vensterformaat of de weergavestatus van het venster wordt gewijzigd.

move

Deze gebeurtenis wordt verzonden nadat de positie van de linkerbovenhoek is gewijzigd.

resizing

Deze gebeurtenis wordt verzonden vlak voordat de breedte of hoogte van het venster wordt gewijzigd doordat het vensterformaat of de weergavestatus van het venster wordt gewijzigd.

resize

Deze gebeurtenis wordt verzonden nadat het formaat van het venster is gewijzigd.

Voor NativeWindowBoundsEvent-gebeurtenissen kunt u de eigenschappen beforeBounds en afterBounds gebruiken om de venstergrenzen te bepalen vóór en na de aanstaande of doorgevoerde wijziging.

De volgende venstergebeurtenissen verzenden een NativeWindowDisplayStateEvent-object:

Gebeurtenis

Beschrijving

displayStateChanging

Deze gebeurtenis wordt verzonden vlak voordat de weergavestatus van het venster wordt gewijzigd.

displayStateChange

Deze gebeurtenis wordt verzonden nadat de weergavestatus van het venster is gewijzigd.

Voor NativeWindowDisplayStateEvent-gebeurtenissen kunt u de eigenschappen beforeDisplayState en afterDisplayState gebruiken om de weergavestatus van het venster te bepalen vóór en na de aanstaande of doorgevoerde wijziging.

Bij bepaalde Linux-vensterbeheerprogramma's wordt er geen gebeurtenis die een wijziging van de weergavestatus aangeeft verzonden wanneer een venster met een instelling voor maximaal vensterformaat, wordt gemaximaliseerd. (Het venster wordt ingesteld op de maximale weergavestatus, maar het formaat ervan wordt niet gewijzigd.)