若要侦听窗口调度的事件,请向窗口实例注册侦听器。例如,若要侦听 closing 事件,请按如下方式向窗口实例注册侦听器:
myWindow.addEventListener(Event.CLOSING, onClosingEvent);
在调度事件时,
target
属性引用发送该事件的窗口。
大多数窗口事件都有两条相关消息。第一条消息发出即将发生窗口更改(可以取消)的信号通知,第二条消息发出更改已发生的信号通知。例如,在用户单击窗口的关闭按钮后,将调度 closing 事件消息。如果侦听器未取消该事件,则窗口将关闭并且 close 事件将调度到所有侦听器。
通常,仅在已使用系统镶边触发事件时才调度
closing
等警告事件。例如,调用 window
close()
方法不会自动调度
closing
事件,而只调度
close
事件。但是,您可以构造 closing 事件对象并使用 window
dispatchEvent()
方法来调度它。
调度 Event 对象的窗口事件包括:
事件
|
说明
|
activate
|
在窗口收到焦点时调度。
|
deactivate
|
在窗口失去焦点时调度
|
closing
|
在窗口即将关闭时调度。仅当在按下系统镶边关闭按钮时或者在 Mac OS X 中调用 Quit 命令时,此事件才自动发生。
|
close
|
在窗口关闭时调度。
|
调度 NativeWindowBoundsEvent 对象的窗口事件包括:
事件
|
说明
|
moving
|
在窗口左上角由于移动窗口、调整窗口大小或更改窗口显示状态而更改位置的前一刻调度。
|
move
|
在左上角更改位置之后调度。
|
resizing
|
在窗口宽度或高度由于调整大小或显示状态更改而发生更改的前一刻调度。
|
resize
|
在窗口更改大小之后调度。
|
对于 NativeWindowBoundsEvent 事件,可以使用
beforeBounds
和
afterBounds
属性确定即将进行更改或完成更改之前和之后的窗口范围。
调度 NativeWindowDisplayStateEvent 对象的窗口事件包括:
事件
|
说明
|
displayStateChanging
|
在窗口显示状态更改的前一刻调度。
|
displayStateChange
|
在窗口显示状态更改之后调度。
|
对于 NativeWindowDisplayStateEvent 事件,可以使用
beforeDisplayState
和
afterDisplayState
属性确定即将进行更改或完成更改之前和之后的窗口显示状态。
在某些 Linux 窗口管理器中,将具有最大化大小设置的窗口最大化时并不调度显示状态更改事件。(窗口设置为最大化显示状态,但并不调整其大小。)