パッケージmx.states
Classpublic class AddChild
継承AddChild Inheritance Object
Implements IOverride

AddChild クラスは、コンポーネントなどの子表示オブジェクトをビューステートの一部としてコンテナに追加します。 このクラスは、State クラスの overrides プロパティで使用します。 creationPolicy プロパティを使用して、アプリケーションの起動時またはビューステートへの変更時に子の作成を指定します。

子は、コンテナに追加されるまで creationComplete イベントを送出しません。 例えば、以下のコードは Button コントロールをビューステート変更の一部として追加します。

  <mx:AddChild relativeTo="{v1}">
      <mx:Button id="b0" label="New Button"/>
  </mx:AddChild> 

前の例で、Button コントロールはステートを変更し、Button コントロールがコンテナに追加されるまで creationComplete イベントを送出しません。 AddChild クラスが Button とコンテナ(Canvas コンテナなど)の両方を定義する場合、Button コントロールは、作成されるときに creationComplete イベントを送出します。 例えば、creationPolicy プロパティを all に設定する場合、Button コントロールはアプリケーションの起動時にイベントを送出します。 creationPolicy プロパティを auto に設定する場合、Button コントロールは、ビューステートの変更時にイベントを送出します。

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

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

  <mx:AddChild
  Properties
  target="null"
  targetFactory="null"
  creationPolicy="auto"
  position="lastChild"
  relativeTo="parent of the State object"
  />
  

デフォルトの 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
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  relativeTo : UIComponent
このオブジェクトを基準として子が追加されます。
AddChild
  target : DisplayObject
追加する子です。
AddChild
  targetFactory : IDeferredInstance
子を作成するファクトリです。
AddChild
パブリックメソッド
 メソッド定義元
  
AddChild(relativeTo:UIComponent = null, target:DisplayObject = null, position:String = "lastChild")
コンストラクタです。
AddChild
  
オーバーライドを適用します。
AddChild
  
ファクトリから子インスタンスを作成します。
AddChild
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
オーバーライドを初期化します。
AddChild
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
オーバーライドを削除します。
AddChild
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
creationPolicyプロパティ
creationPolicy:String  [読み取り-書き込み]

この子の作成ポリシーです。 このプロパティは、いつ 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> タグです。

targetプロパティ 
target:DisplayObject  [読み取り-書き込み]

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

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


実装
    public function get target():DisplayObject
    public function set target(value:DisplayObject):void
targetFactoryプロパティ 
targetFactory:IDeferredInstance  [読み取り-書き込み]

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

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

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


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

コンストラクタです。

パラメータ
relativeTo:UIComponent (default = null) — このコンポーネントを基準として子が追加されます。
 
target:DisplayObject (default = null) — 子オブジェクト。 すべての Flex コンポーネントは、DisplayObject クラスのサブクラスです。
 
position:String (default = "lastChild")target の表示リスト内での位置で、relativeTo コンポーネントに関連しています。 "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.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/AddChild.html