Прослушивание событий окна

Adobe AIR 1.0 и более поздних версий

Для прослушивания событий, отправляемых окном, необходимо зарегистрировать прослушивателя для экземпляра окна. Например, для прослушивания события closing зарегистрируйте прослушиватель для окна следующим образом:

myWindow.addEventListener(Event.CLOSING, onClosingEvent); 

При отправке события свойство target содержит ссылку на окно, отправляющее событие.

Большинство событий окна имеют два связанных сообщения. Первое сообщение сигнализирует о предстоящем изменении окна (которое еще может быть отменено), а второе сообщение сигнализирует о том, что изменение уже произошло. Например, при нажатии пользователем кнопки закрытия окна отправляется сообщение события closing. Если прослушиватели не отменили событие, окно закрывается и прослушивателям отправляется событие close.

Как правило, предупреждающие события, такие как closing , отправляются, только если событие было инициировано системным Chrome. При вызове метода close() окна, например, событие closing не отправляется автоматически — отправляется только событие close . Однако можно создать объект события closing и отправить его при помощи метода dispatchEvent() окна.

К событиям окна, которые отправляют объект Event, относятся следующие:

Событие

Описание

activate

Отправляется при получении окном фокуса.

deactivate

Отправляется, когда окно теряет фокус.

closing

Отправляется при предстоящем закрытии окна. Автоматически это происходит только при нажатии кнопки закрытия на системном Chrome или (в Mac OS X) при вызове команды Quit.

close

Отправляется при закрытии окна.

К событиям окна, которые отправляют объект NativeWindowBoundsEvent, относятся следующие:

Событие

Описание

moving

Отправляется непосредственно перед изменением положения верхнего левого угла окна в результате перемещения, изменения размера или изменения состояния отображения окна.

move

Отправляется после изменения положения верхнего левого угла окна.

resizing

Отправляется непосредственно перед изменением ширины или высоты окна в результате изменения размера или изменения состояния отображения окна.

resize

Отправляется после изменения размера окна.

Для событий NativeWindowBoundsEvent можно использовать свойства beforeBounds и afterBounds для определения границ окна до и после предстоящего или произошедшего изменения.

К событиям окна, которые отправляют объект NativeWindowDisplayStateEvent, относятся следующие:

Событие

Описание

displayStateChanging

Отправляется непосредственно перед изменением состояния отображения окна.

displayStateChange

Отправляется после изменения состояния отображения окна.

Для событий NativeWindowDisplayStateEvent можно использовать свойства beforeDisplayState и afterDisplayState для определения состояния отображения окна до и после предстоящего или произошедшего изменения.

В некоторых диспетчерах окон Linux событие изменения состояния отображения не отправляется, когда предпринимается попытка развернуть до максимального размера окно, уже имеющее максимальные параметры размера. (Для окна устанавливается максимальное состояние отображения, но его размер не изменяется.)