| パッケージ | mx.states |
| public class State | |
| 継承 | State EventDispatcher Object |
overrides プロパティは、基本ビューステートに対して追加または削除する子クラスのセット、ビューステートが有効な場合に設定するプロパティ、スタイル、およびイベントハンドラを指定します。
State クラスは、Flex コンポーネントの states プロパティで使用します。states プロパティは、アプリケーションまたはカスタムコントロールのルートにのみ指定できます。子コントロールには指定できません。
ビューステートを有効にするには、コンポーネントの currentState プロパティを設定します。
MXML シンタックスの非表示
<mx:State> タグには、以下の属性があります。
<mx:State プロパティ basedOn="null" name="null" overrides="null" />
デフォルトの MXML プロパティoverrides
関連項目
| プロパティ | 定義 | ||
|---|---|---|---|
| basedOn : String
この表示状態が基礎とするビューステートの名前。この表示状態が指定されたビューステートに基づいていない場合は、
null になります。 | State | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| name : String
ビューステートの名前です。
| State | ||
| overrides : Array
IOverride インターフェイスを実装するオブジェクトの配列としての、ビューステートのオーバーライドです。
| State | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| メソッド | 定義 | ||
|---|---|---|---|
| State()
コンストラクタ。
| State | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
![]() | dispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() | hasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() | hasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() | isPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() | propertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
| Object | |
![]() | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
![]() | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
![]() | toString():String
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() | valueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
| Object | |
![]() | willTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 一覧 | 定義 | ||
|---|---|---|---|---|
| enterState | ビューステートに移行したときに送出されます。 | State | ||
| exitState | ビューステートが終了する前に送出されます。 | State | ||
| basedOn | プロパティ |
public var basedOn:String
この表示状態が基礎とするビューステートの名前。この表示状態が指定されたビューステートに基づいていない場合は、null になります。この値が null の場合、表示状態は、State クラスを使用しないでコンポーネントに定義するプロパティ、スタイル、イベントハンドラ、および子で構成されるルート状態に基づきます。
デフォルト値null.
| name | プロパティ |
public var name:Stringビューステートの名前です。State 名は特定のコンポーネントに対して一意である必要があります。このプロパティは設定する必要があります。
| overrides | プロパティ |
public var overrides:ArrayIOverride インターフェイスを実装するオブジェクトの配列としての、ビューステートのオーバーライドです。これらのオーバーライドは、このビューステートに移行すると順番に適用され、ビューステートが終了すると逆の順序で削除されます。
次の Flex クラスで IOverride インターフェイスを実装して、ビューステート特性を定義します。
overrides プロパティは、State クラスのデフォルトプロパティです。MXML タグのシンタックスを使用してオーバーライドを定義する場合は、<mx:overrides> タグとその子 <mx:Array> タグを省略できます。
| State | () | コンストラクタ |
public 関数 State()コンストラクタ。
| enterState | event |
mx.events.FlexEvent
mx.events.FlexEvent.ENTER_STATE
ビューステートに移行したときに送出されます。このイベントは、基本ビューステートへの変更が適用された後に送出されます。
FlexEvent.ENTER_STATE 定数により、applicationComplete イベントのイベントオブジェクトの type プロパティ値が定義されます。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
| exitState | event |
mx.events.FlexEvent
mx.events.FlexEvent.EXIT_STATE
ビューステートが終了する前に送出されます。このイベントは、基本ビューステートへの変更が削除される前に送出されます。
FlexEvent.EXIT_STATE 定数により、applicationComplete イベントのイベントオブジェクトの type プロパティ値が定義されます。
イベントオブジェクトの各プロパティには次の値が設定されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | イベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。 |
target | イベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。 |
<?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>