| Package | mx.states |
| Class | public class State |
| Inheritance | State EventDispatcher Object |
overrides property는, 기본 뷰스테이트에 대해서 추가 또는 삭제하는 아이 클래스세트, 뷰스테이트가 유효한 경우로 설정하는 property, 스타일, 및 event 핸들러를 지정합니다.
State 클래스는, Flex 컴퍼넌트의 states property로 사용합니다. states property는, 어플리케이션 또는 custom 콘트롤의 루트에게만 지정할 수 있습니다. 아이 컨트롤에는 지정할 수 없습니다.
뷰스테이트를 유효하게 하려면 , 컴퍼넌트의 currentState property를 설정합니다.
MXML 문장구조법의 비표시
<mx:State> 태그에는, 이하의 속성이 있습니다.
<mx:State property basedOn="null" name="null" overrides="null" />
디폴트의 MXML propertyoverrides
See also
| property | 정의 | ||
|---|---|---|---|
| basedOn : String
이 표시 상태가 기초로 하는 뷰스테이트의 이름. 이 표시 상태가 지정된 뷰스테이트에 근거하지 않은 경우는,
null 가 됩니다. | State | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| name : String
뷰스테이트의 이름입니다.
| State | ||
| overrides : Array
IOverride 인터페이스를 Implements하는 object의 배열로서의, 뷰스테이트의 재정의(override)입니다.
| State | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| Methods | 정의 | ||
|---|---|---|---|
| State ()
constructor .
| State | ||
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| enterState | 뷰스테이트로 이행했을 때에 dispatch됩니다. | State | ||
| exitState | 뷰스테이트가 종료하기 전에 dispatch됩니다. | State | ||
| basedOn | property |
public var basedOn:String
이 표시 상태가 기초로 하는 뷰스테이트의 이름. 이 표시 상태가 지정된 뷰스테이트에 근거하지 않은 경우는,null 가 됩니다. 이 값이 null 의 경우, 표시 상태는, State 클래스를 사용하지 않고 컴퍼넌트에 정의하는 property, 스타일, event 핸들러, 및 아이로 구성되는 루트 상태에 근거합니다.
디폴트치null.
| name | property |
public var name:String 뷰스테이트의 이름입니다. State 명은 특정의 컴퍼넌트에 대해서 일의일 필요가 있습니다. 이 property는 설정할 필요가 있습니다.
| overrides | property |
public var overrides:Array IOverride 인터페이스를 Implements하는 object의 배열로서의, 뷰스테이트의 재정의(override)입니다. 이러한 재정의(override)는, 이 뷰스테이트로 이행하면 차례로 적용되어 뷰스테이트가 종료하면 역의 순서로 삭제됩니다.
다음의 Flex 클래스에서 IOverride 인터페이스를 Implements해, 뷰스테이트 특성을 정의합니다.
overrides property는, State 클래스의 디폴트 property입니다. MXML 태그의 문장구조법을 사용해 재정의(override)를 정의하는 경우는,<mx:overrides> 태그와 그 아이 <mx:Array> 태그를 생략 할 수 있습니다.
| State | () | constructor |
public 함수 State()constructor .
| enterState | event |
mx.events.FlexEvent
mx.events.FlexEvent.ENTER_STATE
뷰스테이트로 이행했을 때에 dispatch됩니다. 이 이벤트는, 기본 뷰스테이트에의 변경이 적용된 후에 dispatch됩니다.
FlexEvent.ENTER_STATE 정수에 의해,applicationComplete 이벤트의 event object의 type property치가 정의됩니다.
event object의 각 property에는 다음의 값이 설정됩니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다. |
target | 이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요. |
| exitState | event |
mx.events.FlexEvent
mx.events.FlexEvent.EXIT_STATE
뷰스테이트가 종료하기 전에 dispatch됩니다. 이 이벤트는, 기본 뷰스테이트에의 변경이 삭제되기 전에 dispatch됩니다.
FlexEvent.EXIT_STATE 정수에 의해,applicationComplete 이벤트의 event object의 type property치가 정의됩니다.
event object의 각 property에는 다음의 값이 설정됩니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다. |
target | 이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요. |
<? 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://flexdocs.kr/docs/flex2/langref/mx/states/State.html