| Flex 2 開発ガイド > Flex プログラミング言語の使用 > イベントの使用 > イベントについて | |||
このセクションでは、Flex 2 のイベントモデルの概要を示します。また、Event オブジェクトとそのサブクラス、およびイベント送出モデルについても説明します。Flex でイベントを使用する方法をすぐに知りたい場合は、このセクションをスキップして、イベントの使用のサンプルコードを参照してください。
イベントを使用すると、Flex アプリケーションで何かが起こったときにその内容を知ることができます。イベントは、マウスやキーボードなどのユーザー入力デバイスや、Web サービス呼び出しからの戻りなどの外部入力によって生成することができます。イベントは、コンポーネントの作成や廃棄、サイズの変更など、コンポーネントの外観やライフサイクルで変更が発生したときにもトリガされます。
アプリケーションでユーザー操作が行われると、イベントが生成されます。また、直接的なユーザー操作が行われていなくてもイベントが発生することがあります。たとえば、サーバーからのデータのロードが終了した場合や、接続されたカメラがアクティブになった場合などです。コードでこれらのイベントを "処理" するには、イベントハンドラを追加します。"イベントハンドラ" とは、特定のイベントに応答するために記述する関数やメソッドです。これらは、"イベントリスナー" と呼ばれることもあります。
Flex のイベントモデルは、ドキュメントオブジェクトモデル (DOM) Level 3 Events に基づいています。Flex は DOM 標準に厳密には準拠していませんが、両者の実装は非常に似ています。
コンポーネントは、イベントを生成および送出し、他のイベントを受け取ります。他のオブジェクトのイベントに関する情報を必要とするオブジェクトは、リスナーをそのオブジェクトに登録します。イベントが発生すると、対象のオブジェクトでは登録時に指定された関数を呼び出すことで、登録されたリスナーすべてにイベントを送出します。同一のオブジェクトから複数のイベントを受け取るには、イベントごとにリスナーを登録する必要があります。
コンポーネントにはビルトインイベントがあります。このようなイベントは、MXML アプリケーションの ActionScript ブロック内で処理します。Flex イベントシステムのディスパッチャー/リスナーモデルを使用して、アプリケーションの外部で独自にイベントリスナーを定義したり、特定のイベントを受け取るカスタムリスナーのメソッドを定義することもできます。ターゲットオブジェクトがイベントを送出したときにリスナーが呼び出されるよう、リスナーをターゲットオブジェクトに登録することができます。
Flex コントロールやコンテナなどのビジュアルオブジェクトはすべて、DisplayObject クラスのサブクラスです。これらは、アプリケーションを構成するビジュアルオブジェクトのツリーにあります。ツリーのルートは Stage です。その下に SystemManager オブジェクトがあり、さらにその下には Application オブジェクトが続きます。子コンテナおよびコンポーネントはツリーのリーフノードに当たります。このツリーのことを "表示リスト" と呼びます。表示リスト内のオブジェクトは、DOM 階層構造のノードに似ています。このトピックでは、"表示リストオブジェクト" と "ノード" という用語は同じ意味で使用されています。
各コンポーネントのイベントの詳細については、コントロールの使用にあるコンポーネントの説明部分、または『Adobe Flex 2 リファレンスガイド』のコントロールの項目を参照してください。
コンポーネントの起動ライフサイクルの詳細 (起動ライフサイクルの主な事象など) については、『Flex 2 コンポーネントの作成と拡張』のActionScript による高度なビジュアルコンポーネントの作成を参照してください。
Flex 2.01