Wykrywanie zdarzeń okien

Adobe AIR 1.0 i starsze wersje

Aby wykrywać zdarzenia wywoływane przez okno, należy zarejestrować detektor dla instancji okna. Na przykład: aby wykryć zdarzenie closing, należy zarejestrować detektor dla okna w następujący sposób:

myWindow.addEventListener(Event.CLOSING, onClosingEvent); 

Po wywołaniu zdarzenia właściwość target odwołuje się do okna wysyłającego zdarzenie.

Większość zdarzeń okna ma dwa związane z nim komunikaty. Pierwszy komunikat sygnalizuje nadejście zmiany okna (i nie można go anulować), podczas gdy drugi komunikat sygnalizuje, że zmiana już wystąpiła. Na przykład: w komendzie kliknięcia przez użytkownika przycisku zamykania wywoływany jest komunikat dla zdarzenia closing. Jeśli żaden detektor nie anuluje zdarzenia, okno zostanie zamknięte, a zdarzenie close wywołane do dowolnego detektora.

Zazwyczaj zdarzenia ostrzegawcze (np. closing ) wywoływane są tylko, gdy karnacja systemowa użyta została do wywołania zdarzenia. Wywołanie na przykład metody close() okna nie powoduje automatycznego wywołania zdarzenia closing — wywoływane jest tylko zdarzenie close . Możliwe jest jednak skonstruowanie obiektu zdarzenia closing i wywołanie go za pomocą metody dispatchEvent() okna.

Zdarzenia okna, które wywołują obiekt Event:

Zdarzenie

Opis

activate

Wywoływane, gdy do okna przeniesiony zostanie obszar aktywności.

deactivate

Wywoływane, gdy obszar aktywności przeniesiony zostanie poza okno.

closing

Wywoływane, gdy okno ma wkrótce zostać zamknięte. Zdarzenie występuje automatycznie tylko w chwili naciśnięcia przycisku zamykania karnacji systemowej lub w momencie wywołania polecenia zakończenia pracy w systemie Mac OS X.

close

Wywoływane po zamknięciu okna.

Zdarzenia okna, które wywołują obiekt NativeWindowBoundsEvent:

Zdarzenie

Opis

moving

Wywoływane bezpośrednio przed zmianą położenia lewego górnego rogu okna w wyniku przesunięcia, zmiany rozmiaru lub zmiany stanu wyświetlania okna.

move

Wywoływane po zmianie położenia lewego górnego rogu.

resizing

Wywoływane bezpośrednio przed zmianą szerokości lub wysokości okna w wyniku zmiany rozmiaru lub zmiany stanu wyświetlania okna.

resize

Wywoływane po zmianie rozmiaru okna.

Do określania obwiedni okna przed i po nadejściu lub zakończeniu zmiany dla zdarzeń NativeWindowBoundsEvent można używać właściwości beforeBounds i afterBounds .

Zdarzenia okna, które wywołują obiekt NativeWindowDisplayStateEvent:

Zdarzenie

Opis

displayStateChanging

Wywoływane bezpośrednio przed zmianą stanu wyświetlania okna.

displayStateChange

Wywoływane po zmianie stanu wyświetlania okna.

Do określania stanu wyświetlania okna przed i po nadejściu lub zakończeniu zmiany dla zdarzeń NativeWindowDisplayStateEvent można używać właściwości beforeDisplayState i afterDisplayState .

W niektórych menedżerach okien systemu Linux zdarzenie zmiany stanu wyświetlania nie jest wywoływane, jeśli maksymalizowane jest okno o rozmiarze maksymalnym. (Stan wyświetlania okna zostanie ustawiony na zmaksymalizowany, ale jego rozmiar nie ulegnie zmianie).