パッケージ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
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリック Methods
 メソッド定義
  
コンストラクタです。
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 がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。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 関数 State()

コンストラクタです。

イベントの詳細
enterStateevent 
イベントオブジェクトの型: mx.events.FlexEvent
FlexEvent.type property = mx.events.FlexEvent.ENTER_STATE

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

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

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

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

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

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

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

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベント処理を行うイベントリスナーの定義用オブジェクトを表します。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトにアクセスするには、currentTarget プロパティを使用します。
StatesExample
<?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>