パッケージmx.states
クラスpublic class State
継承State Inheritance EventDispatcher Inheritance Object

State クラスにより、コンポーネントの特定のビューである、ビューステートが定義されます。 例えば、製品サムネールには、最小限の情報だけを表示する基本ビューステートと、追加情報を含む詳細ビューステートの 2 つのビューステートを定義できます。 overrides プロパティは、基本ビューステートに対して追加または削除する子クラスのセット、ビューステートが有効な場合に設定するプロパティ、スタイルおよびイベントハンドラを指定します。

State クラスは、Flex コンポーネントの states プロパティで使用します。 states プロパティは、アプリケーションまたはカスタムコントロールのルートにのみ指定できます。子コントロールには指定できません。

ビューステートを有効にするには、コンポーネントの currentState プロパティを設定します。

MXML のシンタックスexpandedMXML シンタックスを隠す

The <mx:State> tag has the following attributes:

  <mx:State
  Properties
  basedOn="null"
  name="null"
  overrides="null"
  />
  

デフォルトの MXML プロパティoverrides

例を表示

関連項目

mx.states.AddChild
mx.states.RemoveChild
mx.states.SetEventHandler
mx.states.SetProperty
mx.states.SetStyle
mx.states.Transition


パブリックプロパティ
 プロパティ定義元
  basedOn : String
このビューステートが基礎とするビューステートの名前。このビューステートが指定されたビューステートに基づいていない場合は、null になります。
State
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  name : String
ビューステートの名前です。
State
  overrides : Array
IOverride インターフェイスを実装するオブジェクトの配列としての、ビューステートのオーバーライドです。
State
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
コンストラクタです。
State
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
  ビューステートに移行したときに送出されます。State
  ビューステートが終了する前に送出されます。State
プロパティの詳細
basedOnプロパティ
public var basedOn:String

このビューステートが基礎とするビューステートの名前。このビューステートが指定されたビューステートに基づいていない場合は、null になります。 この値が null の場合、ビューステートは、State クラスを使用しないでコンポーネントに定義するプロパティ、スタイル、イベントハンドラおよび子で構成されるルート状態に基づきます。

デフォルト値 : null.

nameプロパティ 
public var name:String

ビューステートの名前です。 State 名は特定のコンポーネントに対して一意である必要があります。 このプロパティは設定する必要があります。

overridesプロパティ 
public var overrides:Array

IOverride インターフェイスを実装するオブジェクトの配列としての、ビューステートのオーバーライドです。 これらのオーバーライドは、このビューステートに移行すると順番に適用され、ビューステートが終了すると逆の順序で削除されます。

次の Flex クラスで IOverride インターフェイスを実装して、ビューステート特性を定義します。

overrides プロパティは、State クラスのデフォルトプロパティです。 MXML タグのシンタックスを使用してオーバーライドを定義する場合は、<mx:overrides> タグとその子 <mx:Array> タグを省略できます。

コンストラクタの詳細
State()コンストラクタ
public function State()

コンストラクタです。

イベントの詳細
enterState イベント
イベントオブジェクトの型: mx.events.FlexEvent
プロパティ FlexEvent.type = mx.events.FlexEvent.ENTER_STATE

ビューステートに移行したときに送出されます。 このイベントは、基本ビューステートへの変更が適用された後に送出されます。

FlexEvent.ENTER_STATE 定数により、イベントオブジェクトの type プロパティ値が enterState イベント用に定義されます。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
exitState イベント  
イベントオブジェクトの型: mx.events.FlexEvent
プロパティ FlexEvent.type = mx.events.FlexEvent.EXIT_STATE

ビューステートが終了する前に送出されます。 このイベントは、基本ビューステートへの変更が削除される前に送出されます。

FlexEvent.EXIT_STATE 定数により、イベントオブジェクトの type プロパティ値が exitState イベント用に定義されます。

イベントオブジェクトの各プロパティには次の値が設定されています。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。 例えば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は myButton となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
例の使用法
StatesExample.mxml
<?xml version="1.0" ?>
<!-- Simple example to demonstrate the States class. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <!-- Define one view state, in addition to the base state.-->
    <mx:states>
        <mx:State name="Register">
            <mx:AddChild relativeTo="{loginForm}" position="lastChild">
                <mx:target>
                    <mx:FormItem id="confirm" label="Confirm:">
                        <mx:TextInput/>
                    </mx:FormItem>
                </mx:target>
            </mx:AddChild>
            <mx:SetProperty target="{loginPanel}" name="title" value="Register"/>
            <mx:SetProperty target="{loginButton}" name="label" value="Register"/>
            <mx:SetStyle target="{loginButton}" 
                name="color" value="blue"/>
            <mx:RemoveChild target="{registerLink}"/>
            <mx:AddChild relativeTo="{spacer1}" position="before">
                <mx:target>
                    <mx:LinkButton id="loginLink" label="Return to Login" click="currentState=''"/>
                </mx:target>
            </mx:AddChild>
        </mx:State>
    </mx:states>

    <!-- Define a Panel container that defines the login form.-->
    <mx:Panel title="Login" id="loginPanel" 
        horizontalScrollPolicy="off" verticalScrollPolicy="off"
        paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

        <mx:Text width="100%" color="blue"
            text="Click the 'Need to Register?' link to change state. Click the 'Return to Login' link to return to the base state."/>

        <mx:Form id="loginForm" >
            <mx:FormItem label="Username:">
                <mx:TextInput/>
            </mx:FormItem>
            <mx:FormItem label="Password:">
                <mx:TextInput/>
            </mx:FormItem>
        </mx:Form>
        <mx:ControlBar>
            <mx:LinkButton id="registerLink"  label="Need to Register?"
                click="currentState='Register'"/>
            <mx:Spacer width="100%" id="spacer1"/>
            <mx:Button label="Login" id="loginButton"/>
        </mx:ControlBar>
    </mx:Panel>
</mx:Application>




 

 

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

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/states/State.html