| パッケージ | mx.states |
| Class | public class AddChild |
| 継承 | AddChild Object |
| Implements | IOverride |
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 シンタックスを隠す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
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| creationPolicy : String
この子の作成ポリシーです。 | AddChild | ||
| position : String
relativeTo プロパティで指定されたオブジェクトを基準にした、表示リスト内での子の位置です。 | AddChild | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| relativeTo : UIComponent
このオブジェクトを基準として子が追加されます。 | AddChild | ||
| target : DisplayObject
追加する子です。 | AddChild | ||
| targetFactory : IDeferredInstance
子を作成するファクトリです。 | AddChild | ||
| メソッド | 定義元 | ||
|---|---|---|---|
コンストラクタです。 | AddChild | ||
オーバーライドを適用します。 | AddChild | ||
ファクトリから子インスタンスを作成します。 | AddChild | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
オーバーライドを初期化します。 | AddChild | ||
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
オーバーライドを削除します。 | AddChild | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | 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 — このオーバーライドを含むステートオブジェクトの親です。 ターゲットが明示的に指定されていない場合、オーバーライドのターゲットとして使用されます。
|
<?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