Adobe® Flex™ アプリケーションはイベント駆動型です。イベントは、ユーザーがインターフェイスとのやり取りを行ったことをアプリケーションに通知します。また、コンポーネントの作成やサイズの変更など、コンポーネントの外観やライフサイクルで重要な変更が発生したことも通知します。イベントは、マウスやキーボードなどのユーザー入力デバイスや、Web サービス呼び出しからの戻り値やタイマーの起動などの非同期操作によって生成することができます。
Flex コンポーネントアーキテクチャのコアクラスである mx.core.UIComponent が、すべてのコンポーネントにとって基本となる updateComplete、resize、move、creationComplete などのコアイベントを定義します。UIComponent のサブクラスは、これらのイベントを継承します。
基本クラスのすべてのイベントは、Flex の既存のクラスを拡張するカスタムコンポーネントによって継承されます。そのため、次の例に示すように、Button クラスを拡張して MyButton クラスを作成すると、click イベントに加えて、すべてのコントロールに継承される mouseOver や initialize などのイベントを使用できます。
<?xml version="1.0"?>
<!-- events/EventsMyApplication.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:MyComp="myComponents.*">
<mx:Script>
<![CDATA[
import flash.events.Event;
// Event listener for the click event.
private function handleClick(eventObj:Event):void {
// Define event listener.
}
// Event listener for the initialize event.
private function handleInit(eventObj:Event):void {
// Define event listener.
}
]]>
</mx:Script>
<MyComp:MyButton
click="handleClick(event);"
initialize="handleInit(event);"/>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
スーパークラスから継承したイベントを使用する以外に、カスタムコンポーネントではカスタムイベントを定義できます。カスタムイベントを使用して、データバインディングのサポート、ユーザーのやり取りへの応答、コンポーネントによる操作のトリガを実行できます。
Flex イベントメカニズムについて詳しくは、イベントの使用を参照してください。
Flex コンポーネントは、イベントを送出するときにイベントオブジェクトを作成します。イベントオブジェクトのプロパティには、イベントを説明する情報が含まれます。イベントリスナーは、このイベントオブジェクトをパラメータとして受け取り、オブジェクトのプロパティにアクセスして、イベントに関する情報を判別します。
すべてのイベントオブジェクトの基本クラスは、flash.events.Event クラスです。すべてのイベントオブジェクトは、Event クラスのインスタンスであるか、Event クラスのサブクラスのインスタンスです。
次の表で、Event クラスのパブリックプロパティについて説明します。Event クラスは、getter メソッドを使用してこれらのプロパティを実装します。
|
プロパティ |
型 |
説明 |
|---|---|---|
| type |
String |
イベントの名前です("click" など)。イベントコンストラクタは、このプロパティを設定します。 |
| target |
EventDispatcher |
イベントを送出したコンポーネントインスタンスへの参照です。このプロパティは、dispatchEvent() メソッドによって設定されます。これを別のオブジェクトに変更することはできません。 |
| currentTarget |
EventDispatcher |
Event オブジェクトをアクティブに処理するコンポーネントインスタンスへの参照です。イベントキャプチャおよびバブリング段階の間、このプロパティの値は target プロパティの値とは異なります。詳しくは、イベントの使用を参照してください。 |
| eventPhase |
uint |
イベントフローの現在の段階。プロパティには、次の値が含まれる場合があります。
|
| bubbles |
Boolean |
イベントが、バブリングイベントかどうかを示します。イベントがバブル可能な場合、このプロパティの値は true; です。それ以外の場合は、false です。オプションで、このプロパティをコンストラクタパラメータとして Event クラスに渡すことができます。デフォルトでは、ほとんどのイベントクラスにおいて、このプロパティは false に設定されています。詳しくは、イベントの使用を参照してください。 |
| cancelable |
Boolean |
イベントがキャンセル可能かどうかを示します。イベントがキャンセル可能な場合、このプロパティの値は true; です。それ以外の場合は、false です。オプションで、このプロパティをコンストラクタパラメータとして Event クラスに渡すことができます。デフォルトでは、ほとんどのイベントクラスにおいて、このプロパティは false に設定されています。詳しくは、イベントの使用を参照してください。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート