ウィンドウイベントのリッスン

Adobe AIR 1.0 およびそれ以降

ウィンドウによって送出されるイベントをリッスンするには、リスナーをウィンドウのインスタンスに登録します。例えば、closing イベントをリッスンするには、次のようにリスナーをウィンドウに登録します。

window.nativeWindow.addEventListener(air.Event.CLOSING, onClosingEvent);

イベントが送出されると、 target プロパティはイベントを送信したウィンドウを示します。

ほとんどのウィンドウイベントには、2 つの関連メッセージがあります。第 1 のメッセージはウィンドウの変更が行われようとしていること(およびキャンセルできること)を通知し、第 2 のメッセージは変更が行われたことを通知します。例えば、ユーザーがウィンドウの閉じるボタンをクリックすると、closing イベントのメッセージが送出されます。リスナーがイベントをキャンセルしないと、ウィンドウが閉じ、close イベントがリスナーに送出されます。

通常、 closing などの警告イベントは、システムクロムを使用してイベントがトリガーされた場合にのみ送出されます。例えばウィンドウの close() メソッドなどを呼び出しても、 closing イベントは自動的には送出されず、 close イベントのみが送出されます。ただし、closing イベントオブジェクトを作成し、ウィンドウの 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 ウィンドウマネージャーでは、最大サイズが設定されているウィンドウを最大化しても、表示状態変更イベントは送出されません(ウィンドウは最大表示状態に設定されますが、サイズは変更されません)。