DisplayObjectContainer.addChild()には色々な処理が含まれる
mxmlをmxml中でIncludeするのではなく、newしてaddChildする際には実はいろんなことが行われているという点。
の、addChild()する際に
このメソッドはまず preinitialize イベントを送出し、このコンポーネントを使用する開発者が、内部構造が作成される前にコンポーネントを変更できるようにします。次に、createChildren() メソッドを呼び出してコンポーネントの内部構造を作成します。Button の場合、このメソッドはラベル用の UITextField を作成し、追加します。次に、initialize イベントを送出し、内部構造が作成された後に開発者がコンポーネントを変更できるようにします。
なんで、
-
- dispatch(FlexEvent.PREINITIALIZE)
- 親インスタンスのcreateChildren()
- dispatch(FlexEvent.INITIALIZE)
- dispatch(FlexEvent.CREATION_COMPLETE)
- dispatch(Event.ADDED)
って感じか。4と5はどっちが先か調べないと。だけど、多分CREATION_COMPLETEしないとADDできそうにないのでこの順番だろうな。