http://www.mikaflex.com/category/adobe-flex-event/adobe-flex-preinitialize/
For containers and controls, Adobe Flex will dispatch preinitialize , initialize and creationComplete Event. When a child is initialized, his parent can be so. It means that a child is always initialized before his parent. However the creationComplete Event is accessible by children, only when all their parents are initialized. Let us take an example:
对于容器和控制组件,Flex会派发preinitialize、initialize和creationComplete事件。 当子项初始化完成后,其父容器开始初始化。即子项总是先于父容器初始化完成。然而,只有当所有子项的父容器都初始化完成后,子项才开始派发creationComplete事件。 例子如下:
(请注意从17 到23 条,button,textInput,label,image同级。 只有这四个同级的子项创建完成后,他们的上级容器才创建完成。本来我以为的顺序是这样:
- Button creationComplete;
- TextInput creationComplete;
- VBox creationComplete;
- Label creationComplete;
- Image creationComplete;
- HBox creationComplete;
- Canvas creationComplete;
creationComplete 和前两个事件的顺序确实不同
)
Application
Canvas
VBox
Button
TextInput
HBox
Label
Image
In chronological order:
- Application preinitialize;
- Canvas preinitialize;
- VBox preinitialize;
- Button preinitialize;
- Button initialize;
- TextInput preinitialize;
- TextInput initialize;
- VBox initialize;
- HBox preinitialize;
- Label preinitialize;
- Label initialize;
- Image preinitialize;
- Image initialize;
- HBox initialize;
- Canvas initialize;
- Application initialize;
- Button creationComplete;
- TextInput creationComplete;
- Label creationComplete;
- Image creationComplete;
- VBox creationComplete;
- HBox creationComplete;
- Canvas creationComplete;
- Application creationComplete.