容器初始化

所有容器, 事實上所有 UIComponent 組件都使用一種三步走的過程來創建本身, 即創建成員屬性、 創建子組件和設置自己的佈局。 所有容器的第一步都是由框架調用它的構造方法並且廣播一個預初始化事件。第二步, 假設容器與其所有的子孫的關係構成一棵樹形結構, 那麼 , 預初始化的工作是由上而下的,也就是說,組件優先預初始化父親容器,按照深度順序首先 預初始化根節點位置上的容器,直到葉子節點的子組件預初始化完畢。第三步,類似於於初 始化的過程,真正初始化完成的順序卻是和預初始化結束的順序相反,如此,先出初始化完 畢葉子節點位置的子組件, 然後此過程往上行節點重複, 當某個節點位置的子組件初始化完 畢時即廣播一個 creationComplete 事件, 同理, 隨後上一級子組件也會廣播一次這個事件, 以此類推, 所有的上行的父親容器直到根節點位置上的容器都會在自身初始化完畢的時候廣 播該事件。
示例代碼:
<mx:HBox>
<mx:VBox>
<mx:Panel/>
<mx:Panel/>
</mx:VBox>
</mx:HBox>
HBox preinitialize
VBox preinitialize
FirstPanel preinitialize
SecondPanel preinitialize
FirstPanel initialize
SecondPanel initialize
VBox initialize
HBox initialize
FirstPanel creationComplete
SecondPanel creationComplete
VBox creationComplete
HBox creationComplete 當組件廣播 preinitialize 和 initialize 事件時,它的子組件還沒有創建完成。因此,要訪問某個組件的所有子組件, 必須偵聽 creationComplete 時間。 在廣播 initialize 事件後 , 組件本身已經完成測量、繪製和佈局,但是其子組件可能仍未完全完成實例化過程。最後, creationComplete 事件表明所有容器內的子組件都完全實例化結束


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章