Adobe Flex 3 ヘルプ

イベントについて

Adobe® Flex™ アプリケーションはイベント駆動型です。イベントは、ユーザーがインターフェイスとのやり取りを行ったことをアプリケーションに通知します。また、コンポーネントの作成やサイズの変更など、コンポーネントの外観やライフサイクルで重要な変更が発生したことも通知します。イベントは、マウスやキーボードなどのユーザー入力デバイスや、Web サービス呼び出しからの戻り値やタイマーの起動などの非同期操作によって生成することができます。

Flex コンポーネントアーキテクチャのコアクラスである mx.core.UIComponent が、すべてのコンポーネントにとって基本となる updateCompleteresizemovecreationComplete などのコアイベントを定義します。UIComponent のサブクラスは、これらのイベントを継承します。

基本クラスのすべてのイベントは、Flex の既存のクラスを拡張するカスタムコンポーネントによって継承されます。そのため、次の例に示すように、Button クラスを拡張して MyButton クラスを作成すると、click イベントに加えて、すべてのコントロールに継承される mouseOverinitialize などのイベントを使用できます。

<?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

イベントフローの現在の段階。プロパティには、次の値が含まれる場合があります。

  • EventPhase.CAPTURING_PHASE:キャプチャ段階
  • EventPhase.AT_TARGET:ターゲット段階
  • EventPhase.BUBBLING_PHASE:バブリング段階
bubbles

Boolean

イベントが、バブリングイベントかどうかを示します。イベントがバブル可能な場合、このプロパティの値は true; です。それ以外の場合は、false です。オプションで、このプロパティをコンストラクタパラメータとして Event クラスに渡すことができます。デフォルトでは、ほとんどのイベントクラスにおいて、このプロパティは false に設定されています。詳しくは、イベントの使用を参照してください。

cancelable

Boolean

イベントがキャンセル可能かどうかを示します。イベントがキャンセル可能な場合、このプロパティの値は true; です。それ以外の場合は、false です。オプションで、このプロパティをコンストラクタパラメータとして Event クラスに渡すことができます。デフォルトでは、ほとんどのイベントクラスにおいて、このプロパティは false に設定されています。詳しくは、イベントの使用を参照してください。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート