パッケージmx.states
public class AddChild
継承AddChild Inheritance Object
実装IOverride

AddChild クラスは、コンポーネントなどの子表示オブジェクトをビューステートの一部としてコンテナに追加します。このクラスは、State クラスの overrides プロパティで使用します。

MXML シンタックスexpandedMXML シンタックスの非表示

<mx:AddChild> タグには、以下の属性があります。

 <mx:AddChild プロパティ target="null" targetFactory="null" creationPolicy="auto" position="lastChild" relativeTo="State オブジェクトの親" /> 

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

例の表示

関連項目

mx.states.State
mx.states.RemoveChild
mx.states.Transition
mx.effects.AddChildAction


パブリックプロパティ
 プロパティ定義
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  creationPolicy : String
この子の作成ポリシーです。
AddChild
  position : String
relativeTo プロパティで指定されたオブジェクトを基準にした、表示リスト内での子の位置です。
AddChild
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  relativeTo : UIComponent
このオブジェクトを基準として子が追加されます。
AddChild
  target : DisplayObject
追加する子です。
AddChild
  targetFactory : IDeferredInstance
子を作成するファクトリです。
AddChild
パブリックメソッド
 メソッド定義
  AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")
コンストラクタ。
AddChild
  apply(parent:UIComponent):void
オーバーライドを適用します。
AddChild
  createInstance():void
ファクトリから子インスタンスを作成します。
AddChild
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  initialize():void
オーバーライドを初期化します。
AddChild
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
  remove(parent:UIComponent):void
オーバーライドを削除します。
AddChild
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
プロパティの詳細
creationPolicyプロパティ
creationPolicy:String  [read-write]

この子の作成ポリシーです。このプロパティは、いつ targetFactory が子のインスタンスを作成するかを決定します。targetFactory プロパティを指定する場合にのみ、このプロパティが使用されます。使用できる値は次のとおりです。

説明
auto(デフォルト) 最初に必要になったときにインスタンスを作成します。
allアプリケーションが起動したときにインスタンスを作成します。
noneインスタンスを自動的に作成しません。インスタンスを作成するには、createInstance() メソッドを呼び出す必要があります。

デフォルト値"auto".

実装
    public function get creationPolicy():String
    public function set creationPolicy(value:String):void
positionプロパティ 
public var position:String

relativeTo プロパティで指定されたオブジェクトを基準にした、表示リスト内での子の位置です。有効な値は、"before""after""firstChild"、および "lastChild" です。

デフォルト値"lastChild".

relativeToプロパティ 
public var relativeTo:UIComponent

このオブジェクトを基準として子が追加されます。このプロパティは position プロパティと一緒に使用します。このプロパティはオプションです。省略する場合、State オブジェクトの直接の親が使用されます。つまり、states プロパティを持つコンポーネントまたは State オブジェクトを指定する <mx:states%gt; タグです。

targetプロパティ 
target:DisplayObject  [read-write]

追加する子です。このプロパティを設定すると、アプリケーション起動時に子インスタンスが作成されます。このプロパティを設定することは、creationPolicy"all"targetFactory プロパティを設定することと同じです。

targetFactory プロパティを設定している場合は、このプロパティを設定しないでください。

実装
    public function get target():DisplayObject
    public function set target(value:DisplayObject):void
targetFactoryプロパティ 
targetFactory:IDeferredInstance  [read-write]

子を作成するファクトリです。次のアイテムのいずれかを指定できます。

このプロパティを設定すると、子は creationPolicy プロパティで決定された時点でインスタンス化されます。

target プロパティを設定している場合は、このプロパティを設定しないでください。このプロパティは、AddChild クラスのデフォルトプロパティです。このプロパティを creationPolicy を "all" にして設定することは、target プロパティを設定することと同じです。

実装
    public function get targetFactory():IDeferredInstance
    public function set targetFactory(value:IDeferredInstance):void
コンストラクタの詳細
AddChild()コンストラクタ
public 関数 AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")

コンストラクタ。

パラメータ
relativeTo:UIComponent (default = null) — このコンポーネントを基準として子が追加されます。
 
target:DisplayObject (default = null) — 子オブジェクト。すべての Flex コンポーネントは、DisplayObject クラスのサブクラスです。
 
position:String (default = "lastChild")relativeTo コンポーネントを基準とした target の表示リスト内での位置です。次のいずれかになります。"firstChild"、"lastChild"、"before"、または "after"。
メソッドの詳細
apply()メソッド
public function apply(parent:UIComponent):void

オーバーライドを適用します。Flex では元の値が保持されるため、後で remove() メソッドに元の値を復元できます。

そのビューステートに移行すると、自動的にこのメソッドが呼び出されます。このメソッドは直接呼び出さないでください。

パラメータ
parent:UIComponent — このオーバーライドを含む状態オブジェクトの親です。ターゲットが明示的に指定されていない場合、オーバーライドのターゲットとして使用されます。
createInstance()メソッド 
public function createInstance():void

ファクトリから子インスタンスを作成します。targetFactory プロパティ、および creationPolicy 値を "none" に指定する場合のみ、このメソッドを使用する必要があります。Flex では、creationPolicy プロパティ値が "auto" または "all" の場合に、このメソッドを自動的に呼び出します。このメソッドを複数回呼び出す場合、子インスタンスは最初の呼び出しでのみ作成されます。

initialize()メソッド 
public function initialize():void

オーバーライドを初期化します。Flex では apply() メソッドを最初に呼び出す前にこのメソッドを呼び出すため、このメソッドのオーバーライドには、1 回だけ実行する初期化コードを配置します。

そのビューステートに移行すると、Flex が自動的にこのメソッドを呼び出します。このメソッドは直接呼び出さないでください。

remove()メソッド 
public function remove(parent:UIComponent):void

オーバーライドを削除します。apply() メソッドに記憶されている値が復元されます。

そのビューステートに移行すると、自動的にこのメソッドが呼び出されます。このメソッドは直接呼び出さないでください。

パラメータ
parent:UIComponent — このオーバーライドを含む状態オブジェクトの親です。ターゲットが明示的に指定されていない場合、オーバーライドのターゲットとして使用されます。
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>