flex组件在建立的时候都会经历四个事件:preinitialize, initialize, creationComplete和updateComplete (updateComplete事件在任何改动视觉的情况下都会发生,不是初始化时独有的)。我这里有个例子来检测在嵌套和平行的情况下,测试各个组件的事件抛出顺序。
程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
preinitialize="showEvent(event)"
initialize="showEvent(event)"
creationComplete="showEvent(event)"
updateComplete="showEvent(event)">
<mx:Script>
<![CDATA[
import flash.utils.getTimer;
private function showEvent(event:Event):void
{
trace(flash.utils.getTimer().toString()+" >> "+event.currentTarget.name+" "+event.type);
}
]]>
</mx:Script>
<mx:Canvas id="canv1"
preinitialize="showEvent(event)"
initialize="showEvent(event)"
creationComplete="showEvent(event)"
updateComplete="showEvent(event)">
<mx:Button id="btn1"
preinitialize="showEvent(event)"
initialize="showEvent(event)"
creationComplete="showEvent(event)"
updateComplete="showEvent(event)"/>
</mx:Canvas>
<mx:Button id="btn2"
preinitialize="showEvent(event)"
initialize="showEvent(event)"
creationComplete="showEvent(event)"
updateComplete="showEvent(event)"/>
</mx:Application>
它的输出是:
1299 >> eventTest0 preinitialize
1307 >> canv1 preinitialize
1310 >> btn1 preinitialize
1318 >> btn1 initialize
1319 >> canv1 initialize
1320 >> btn2 preinitialize
1321 >> btn2 initialize
1321 >> eventTest0 initialize
[SWF] G:\projects\eventTest\bin-debug\eventTest.swf - 588,818 bytes after decompression
1387 >> btn1 creationComplete
1387 >> btn1 updateComplete
1387 >> canv1 creationComplete
1387 >> canv1 updateComplete
1388 >> btn2 creationComplete
1388 >> btn2 updateComplete
1388 >> eventTest0 creationComplete
1390 >> eventTest0 updateComplete
看着有点混乱,不过仔细看看,可以把过程分成两个部分。很明显,所有的creationComplete和updateComplete发生在第二次update的时候,之前flex组件只是做一些设置和计算的工作,并没有在画布上画任何东西。除此以外,还有这么一些规律:
* 就单个组件而言,事件的抛出顺序是preinitialize,initialize,creationComplete
* 嵌套关系的两个组件(比如Canvas和button1),preinitialize先外后内,initialize和creationComplete先内后外。只是creationComplete要在下一次update才会发生。
* 平行关系的两个组件(比如Canvas和button2),按mxml内的顺序,只有前面组件initialize结束后,后面的组件才会抛出preinitialize。
分享到:
相关推荐
综上所述,"基于S32KDS平台SDK3.0编写的flexcan组件can fd测试例程"涵盖了FlexCAN模块的配置、初始化、数据传输、错误处理等多个方面,是学习和评估S32K微控制器在CAN FD通信能力上的理想实践。通过运行和分析这个...
2. 动态加载:Flex 4支持在运行时动态加载资源包,这样可以减少初始加载时间,只加载用户需要的语言版本。 3. 多语言皮肤:除了文本资源外,Flex 4还允许我们为不同的语言创建特定的皮肤,以适应不同文化背景的视觉...
接下来,可以使用`beginPrint()`方法初始化打印作业,接着使用`print() `方法将要打印的显示对象转换为位图,最后通过`addPage()`方法添加到打印作业中。完成所有页面后,调用`endPrint()`结束打印作业,最后调用`...
4. **模块生命周期**:Flex模块有其特定的生命周期,包括加载、初始化、显示和卸载阶段。开发者需要理解这些阶段,以便正确处理模块的加载事件和状态变化。 5. **模块间的通信**:Flex模块可以通过事件、回调函数、...
在Flex项目开发中,"Configurator"可能是一个配置管理器或者设置工具,它可能是整个应用的核心部分,负责处理应用程序的配置、设置和初始化工作。在Flash Builder中,你可以直接加载此项目源码,利用IDE的集成开发...
2. **Flex Component Lifecycle**: 每个Flex组件都有自己的生命周期,包括创建、初始化、显示、尺寸改变和销毁等阶段,理解这些阶段对于优化性能和处理用户交互至关重要。 3. **MXML**: MXML语法类似于XML,可以...
11. **Flex应用程序生命周期**:从初始化到销毁,Flex应用程序会经历多个阶段,理解这些阶段对于优化性能和资源管理至关重要。 12. **错误和异常处理**:学习如何正确处理程序运行时的错误和异常,是编写健壮Flex...
8. **组件生命周期**: Flex组件有自己的生命周期,包括创建、初始化、显示、隐藏和销毁等阶段。理解这个生命周期对于优化性能和解决问题至关重要。 9. **BlazeDS**: BlazeDS是Flex与Java服务器之间通信的中间件,...
在Flex框架中,模块化设计是一种非常重要的开发模式,它允许开发者将大型应用分解为多个独立的小型组件,这些组件可以在需要时动态加载到主应用中。通过这种方式,可以显著减少初始SWF文件的大小,并缩短加载时间。 ...
8. **Flex应用程序生命周期**: 了解Flex组件的创建、初始化、显示和销毁过程对于优化性能和管理内存至关重要。 9. **Flex模块化开发**: Flex支持模块化,允许将大型应用程序分解为可独立加载的单元,从而改善加载...
4. **初始化显示已选择项** 当页面加载时,该组件能够自动显示之前用户已选择的选项,这提高了用户体验,因为他们无需再次手动设置。这种功能通常是通过存储和恢复用户偏好来实现的,可能涉及到本地存储或服务器端...
7. **Flex应用生命周期**:理解Flex应用从初始化到销毁的各个阶段,以及如何在这些阶段中插入自定义逻辑。 8. **Flex和后端通信**:Flex应用通常需要与服务器进行数据交换,这涉及XML、JSON等数据格式,以及HTTP或...
在`web.xml`中,我们定义了几个关键的元素,如`<context-param>`、`<listener>`、`<servlet>`等,它们分别用于指定类路径、初始化HttpFlexSession监听器以及配置MessageBrokerServlet和FlexMxmlServlet。 `...
在这个“flex第一步”源码中,你可能会看到如何设置Flex项目的结构,如何在MXML文件中创建基本的UI元素,如何用ActionScript编写初始化和交互逻辑,以及如何使用Flex的组件库。这包括了创建一个简单的Flex应用的基本...
9. **Flex应用生命周期**:了解Flex组件的创建、初始化和销毁过程,这对于优化应用性能和管理资源至关重要。 这个教学视频的第一部分很可能是打下坚实基础的阶段,确保初学者对Flex的基本架构和开发流程有清晰的...
这个文件可能是登录界面的主MXML文件,包含视图组件以及初始化命令的代码。它可能包含了事件监听器的设置,当用户提交表单时,会触发登录过程。 9. **com目录** 这个目录通常包含项目的源代码,包括模型、视图、...
4. **处理事件**:FCKEditor会触发各种事件,如初始化完成、内容改变等,你可以监听这些事件来实现与编辑器的交互。 5. **显示编辑器**:将编辑器组件添加到Flex应用的UI容器中,使其在页面上可见。 6. **数据绑定...
8. **Flex应用程序生命周期**:理解Flex组件的创建、初始化和销毁过程对于优化性能和管理资源非常重要。 9. **调试和测试**:学习如何使用Flash Builder的内置调试工具,如断点、变量查看器和性能分析器,可以帮助...
可能有构造函数来初始化组件,以及覆盖或扩展父类的方法来处理时间和日期的组合。 2. 时间选择UI元素:源代码可能包含了小时、分钟和秒的下拉列表或滑动条的实现,以及这些元素与DateField核心部分的交互逻辑。 3....
- 在MXML组件中,我们可以使用`creationComplete`事件监听器或`initialize`事件来初始化AS3类。例如: ```mxml initialize="init();"> <![CDATA[ import myPackage.MyClass; private var myInstance:...