组件实例化生命周期描述了用组件类创建组件对象时所发生的一系列步骤,作为生命周期的一部分,flex自动调用组件的的方法,发出事件,并使组件可见.
下面例子用as创建一个btn控件,并将其加入容器中
var boxContainer:Box = new Box();
//设置Box容器
...
//创建btn
var b:Button = new Button();
b.label = "Submit";
...
//将btn添加到Box容器中
boxContainer.addChild(b);
下面的步骤显示了用代码创建一个Button 控件,并将这个控件添加到Box 容器中时所发生
的一切:
1.调用了组件的构造函数;
var b:Button = new Button();
2.通过设置组件的属性对组件进行设置,
// Configure the button control.
b.label = "Submit";
组件的setter方法将会调用invalidateProperties(),invalidateSize (),invalidateDisplayList()方法.
3.调用addChild()方法将该组件添加到父组件
// Add the Button control to the Box container.
boxContainer.addChild(b);
4.将component的parent的属性设置为对父容器的引用.
5.计算组件样式(style)设置
6.在组件上发布priininialize事件.
7.调用组件的createChildren()方法.
8.调用invalidateProperties(),invalidateSize(),invalidateDisplayList ()方法以触发后续到来的,下一个"渲染事件"(render event)期间对commitProperties(),measure(),updateDisplayList()方法的调用.这个规则唯一一个例外就是当用户设置组件的height 和width 属性时, Flex 不会调用measure() 方法.
9. 在组件上分发initialize 事件。此时,组件所有的子组件都被初始化,但是组件没有改更size 和处理布局。可以利用这个事件在组件布局之前执行一些附加的处理。
10. 在父容器上分发childAdd 事件.
11. 在父容器上分发initialize 事件.
12.在下一个"渲染事件"(render event)中,Flex执行以下动作:
a.调用组件的commitProperties()方法.
b.调用组件的measure()方法.
c.调用组件的layoutChrome方法.
d.调用组件的updateDisplayList()方法.
e.在组件上发布updateComplete事件.
13.如果commitProperties(),measure,updateDisplayList方法调用了invalidateProperties(),invalidateSize(),或invalidateDisplayList()方法,则Flexh 会分发另外一个render 事件.
14. 在最后的render 事件发生后, Flex 执行以下动作:
a. 通过设置组件的visible 属性使组件变为可视.
b. 在组件上分发creationComplete 事件.组件的大小(size)和布局被确定.
这个事件只在组件创建时分发一次.
c. 在组件上分发updateComplete 事件.无论什么时候,只要组件的布局
(layout),位置,大小或其它可视的属性发生变化就会分发这事件,然后组件被
更新,以使组件能够被正确地显示.
分享到:
相关推荐
Flex组件的生命周期是Adobe Flex框架中一个至关重要的概念,它涉及到UIComponent类及其子类(如Button、Canvas等)在创建、初始化、显示和销毁过程...对于深入学习Flex组件生命周期,这份资料将是一份宝贵的参考资料。
### 深入理解FLEX组件生命周期 #### 一、引言 在FLEX开发过程中,深入了解组件的生命周期对于优化应用程序性能、确保组件正确响应用户交互至关重要。本文将详细解析Flex组件生命周期的主要阶段:初始化...
Flex组件生命周期是软件开发中关于Adobe Flex框架的重要概念,它涉及到UIComponent的创建、初始化、显示和销毁等各个阶段。Flex应用的根对象是SystemManager,这是一个Display Class,继承自flash.display.MovieClip...
Flex 4生命周期是Adobe Flex框架的核心组成部分,它详细规定了组件从创建到销毁的过程。在Flex 3到Flex 4的进化中,生命周期有了显著的变化,这些变化旨在提高性能、可扩展性和稳定性。 Flex框架的生命周期包括了...
首先,Flex组件生命周期(Flex Component Lifecycle)是指Flex框架用来创建和更新UI元素在Flash显示列表上的一系列方法和事件。当开发者编写自定义组件时,理解Flex组件生命周期是非常有益的。在组件生命周期的不同...
这个过程通常涉及一些编程技巧,包括对Flex组件生命周期的理解,以及对ActionScript(Flash Player的编程语言)的熟练掌握。 标签“源码”意味着可能在博文中会有实际的代码示例来展示如何操作。“工具”可能指的是...
首先,让我们了解一下Flex组件生命周期的基本概念。每个Flex组件都有一个从创建到销毁的过程,这个过程被称为组件生命周期。它包括几个关键阶段,如初始化、测量、布局、绘制以及事件处理等。这些阶段确保了组件正确...
5. **事件处理**:Flex组件生命周期中,事件处理是非常关键的一环。组件可以监听并响应各种事件,例如用户输入、数据变化等。事件处理通常发生在`enterFrame`事件期间,这是处理动画和实时交互的理想时机。 6. **...
3. Flex组件生命周期:从创建到销毁的过程,包括初始化、测量、布局、绘制等阶段。 4. Event-driven编程:Flex应用主要依赖事件驱动模型,轮弹组件会监听并响应用户的滚动操作。 5. 组件状态管理:了解组件在不同...
- **Flex3组件生命周期** - 构造阶段 - 添加阶段 - 初始化阶段 - 失效机制阶段 - 生效机制阶段 - 更新阶段 - 移除阶段 - **Flex应用程序生命周期** - 构造阶段 - 初始化阶段 - 预加载阶段 - 子类创建阶段...
在深入理解 Flex3 的组件和框架生命周期之前,我们需要先了解 Flex 的历史背景以及其运行机制。 Flex 简史: Flex 的发展始于2004年,最初由 Macromedia 开发,后来被 Adobe 收购。Flex3 是一个关键版本,引入了更...
每个Flex组件都是一个继承自UIComponent的类,拥有自己的生命周期、样式和事件处理机制。例如,Button组件用于响应用户的点击动作,Label组件用于显示静态文本,而List组件则可以展示可选择的项目列表。 Flex组件的...
- **Flex3组件生命周期** - 构造阶段 - 添加阶段 - 初始化阶段 - 失效机制阶段 - 生效机制阶段 - 更新阶段 - 移除阶段 - **Flex应用程序生命周期** - 构造阶段 - 初始化阶段 - 预加载阶段 - 子类创建阶段...
- **构造阶段(birth)**:这是组件生命周期的起点。在此阶段,组件被实例化,并且执行构造函数。此时组件还不存在于视图中,因此无法进行任何视觉上的操作。 - **添加阶段(birth)**:组件被添加到视图中,但尚未...
#### 组件生命周期阶段概述 - **构造阶段**:组件对象被创建。 - **添加阶段**:组件被添加到显示列表中。 - **初始化阶段**:组件进行必要的初始化工作。 - **失效机制阶段**:组件的状态可能改变,例如响应用户...
这些组件是基于DisplayObject和EventDispatcher类的层次结构构建的,它们遵循Flex组件生命周期,具有创建、初始化、显示、交互和销毁等阶段。 5. **Flex Event Model**: 事件模型是Flex API的重要特性,允许组件...
组件生命周期是每个Flex组件从创建到销毁所经历的一系列阶段。理解组件生命周期至关重要,因为它涉及到组件何时初始化、何时准备显示、何时接收用户输入以及何时被销毁。以下是一些关键的生命周期方法: 1. **...
7. Flex组件生命周期:从初始化到销毁的各个阶段,理解这些可以帮助优化组件性能和内存管理。 8. 触摸事件和手势识别:在Apple设备上,理解和处理触摸事件是关键,因为它们不同于传统的鼠标事件。 通过研究"flexlib...