- 浏览: 522223 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (240)
- Java (25)
- Flex (46)
- Sybase (26)
- Sqlserver (7)
- .NET (1)
- .NET-Silverlight (11)
- Hibernate (5)
- Korn-shell (2)
- Perl (5)
- Unix & Linux (11)
- Ruby (3)
- SVN (2)
- Tomcat (1)
- CSS (5)
- Web (2)
- English (3)
- SQL (9)
- Qlikview (4)
- Spring (7)
- javascript (2)
- weblogic (5)
- iphone (1)
- 网络 (5)
- 随 (23)
- AutoSys (1)
- Hermes (2)
- RPM (2)
- CA (1)
- Operating System (1)
- SSIS (3)
- Windows (2)
- excel (1)
- SSRS (1)
- 活动 (23)
- Eclipse (2)
- Angular (0)
- Python (0)
- AWS (0)
- Android (0)
最新评论
-
devcang:
long t1 = System.nanoTime();
java中取得微秒级的时间 -
Sev7en_jun:
Sev7en_jun 写道 ExternalInterface ...
flex"页面跳转" -
Sev7en_jun:
ExternalInterface.call("fu ...
flex"页面跳转" -
lujinan858:
Incorrect syntax near 'fddActiv ...
Sybase alter 用法 -
Sev7en_jun:
Alter table TestItem drop COLUM ...
Sybase alter 用法
preloader->systemManager->FlexApplication started…
然后才是
preinitialize
在
所有的初始化之前触发,没有子组件的定义,但是可以引用组件的变量.
initialize
当所有子组件生成完成后触发,在这
个时间点还没有组件被渲染出来.
creationComplete
组件定义完成并已经在显示列表.
applicationComplete
所
有的组件初始化完成并显示.
首 先介绍一下SystemManager. SystemManager是Flex应用的主控
者, 它控制着应用窗口, Application实例, 弹出窗口, cursors, 并管理着ApplicationDomain中的
类. SystemManager是FlashPlayer实例化的第一个类, 它存储了主应用窗口的大小和位置信息, 保存其子组件比如:浮动弹出窗口
和模态窗口的痕迹. 通过SystemManager可以获得内嵌字体,样式和document对象.
自定义的可视化组件
(UIComponent的子类)只有在调用过addChild()后, 才会有一个SystemManager赋给他们, 之前是Null. 所以在自
定义可视化组件的构造函数中不要使用SystemManager.
通常, Application对象创建时, 发生如下事件:
1. 实
例化Application对象
2. 初始化Application.systemManager
3. Application在初
始化过程之前, 派发预初始化事件.
4. 调用createChild(). 此时, 所有应用组件被创建, 所有组件的
createChild()被调用.
5. Application派发初始化事件, 表明所有的组件初始化完毕.
6. 派发
creationComplete事件
7. Application对象添加到显示列表中
8. 派发
applicationComplete事件
大 多数情况下, 我们使用<mx:Application>来创建
application对象, 但如果使用ActionScript来创建的话, 那么建议不要在application的构造函数中创建组件, 推荐在
crateChildren函数中, 主要是从性能方面考虑.
Flash包含的是一个时间线上的多个帧, 而Flex的SWF只包含2
个帧. SystemManager, Preloader, DownloadProgressBar和少量工具类都在第一帧, 剩下的包括应用代码
/ 内嵌资源全都在第二帧中. 当Flash Player下载下载SWF时, 只要接收到第一帧内足够的数据, 就会实例化
SystemManager, 由它来创建Preloader, 然后创建DownloadProgressBar, 这两个对象会察看剩余字节的传输过
程. 当第一帧的所有字节传输完毕后, SystemManager发送enterFrame到第二帧, 然后是其他事件. 最后Application
对象派发applicationComplete事件.
Flex 是一个事件驱动的编程模型, 任何事情的发生, 其背后必然存在一个
事件. 而开发者第一次看到MXML时, 很难体会到一个Xml标记的应用的事件流和实例化的生命周期. 这个对于HTML和Flash的开发者尤其会感
到困惑, 因为其熟悉的方式与Flex的一点也不相似. HTML的实例化是从上到下的, Flash的执行是从Frame0开始一帧帧运行的. 而
Flex则又有不同.
从我们开始学习Flex时, 我们就需要了解事件流和MXML的实例化. 我非常困惑因为我实在难以理解什么样的
事件会被触发或者事件什么时候会被触发. 关键是要理解事件的基础并亲自观察事件流的初始化.
我们来看一个简单的MXML的应用.
<?xml version=”1.0″ encoding=”utf-8″?><mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” backgroundGradientColors=”[#67cbff, #fcffff]” color=”#000000″ fontSize=”12″ preinitialize=”report( event , ‘preinitialize’ )” initialize=”report( event , ‘initialize’ )” creationComplete=”report( event , ‘creationComplete’ )” applicationComplete=”report( event , ‘applicationComplete’ )” > <mx:Script> <![CDATA[ [Bindable] public var outTextData:String=”"; public function report( event:Event , value:String ):void { outTextData += String( flash.utils.getTimer() ) + ‘ms >> ‘ + event.currentTarget + ‘.’ + value + ‘\n’; } ]]> </mx:Script> <mx:TextArea id=”outTextArea” text=”{ outTextData }” right=”10″ left=”10″ top=”50″ bottom=”10″ alpha=”0.5″ wordWrap=”false” initialize=”report( event , ‘initialize’ )” creationComplete=”report( event , ‘creationComplete’ )” /> <mx:Button y=”10″ height=”30″ left=”168″ width=”150″ id=”HelloButton” label=”Say Hello” initialize=”report( event , ‘initialize’ )” creationComplete=”report( event , ‘creationComplete’ )” rollOver=”report( event , ‘rollOver’ )” rollOut=”report( event , ‘rollOut’ )” click=”report( event , ‘click > Hello!’ )” /> <mx:Button id=”GoodByeButton” label=”Say Goodbye” y=”10″ left=”10″ height=”30″ width=”150″ color=”#000000″ initialize=”report( event , ‘initialize’ )” creationComplete=”report( event , ‘creationComplete’ )” click=”report( event , ‘click > Goodbye!’ )” /> <mx:Button id=”ClearButton” label=”Clear” y=”10″ left=”326″ height=”30″ color=”#000000″ right=”10″ initialize=”report( event , ‘initialize’ )” creationComplete=”report( event , ‘creationComplete’ )” click=”outTextData=”;report( event , ‘click’ )” /> </mx:Application>
这
个应用运行时, 输出了实例流程和事件流. 这校我们就能够看到所有事件的触发顺序. 可以发现应用启动后, 事件的顺序是一定的. 下面是输出的内
容:
167ms >> EventFlow0.preinitialize
183ms >> EventFlow0.outTextArea.initialize
187ms >> EventFlow0.HelloButton.initialize
188ms >> EventFlow0.GoodByeButton.initialize
189ms >> EventFlow0.ClearButton.initialize
189ms >> EventFlow0.initialize
243ms >> EventFlow0.outTextArea.creationComplete
243ms >> EventFlow0.HelloButton.creationComplete
243ms >> EventFlow0.GoodByeButton.creationComplete
244ms >> EventFlow0.ClearButton.creationComplete
244ms >> EventFlow0.creationComplete
246ms >> EventFlow0.applicationComplete
一
旦applicationComplete事件触发后, 组件就会在鼠标事件派发后触发自己的事件.
1807ms >> EventFlow0.HelloButton.rollOver
2596ms >> EventFlow0.HelloButton.rollOut
2954ms >> EventFlow0.HelloButton.rollOver
3170ms >> EventFlow0.HelloButton.rollOut
3543ms >> EventFlow0.HelloButton.rollOver
4052ms >> EventFlow0.HelloButton.click > Hello!
4267ms >> EventFlow0.HelloButton.click > Hello!
4474ms >> EventFlow0.HelloButton.click > Hello!
4569ms >> EventFlow0.HelloButton.rollOut
4907ms >> EventFlow0.GoodByeButton.click > Goodbye!
5130ms >> EventFlow0.GoodByeButton.click > Goodbye!
发表评论
-
Flex Remote Object IE 问题(转)
2010-04-21 16:43 1852最近在开发中遇到一个怪异的问题: 1.F ... -
使用updateComplete事件代替verticalScrollPosition绑定赋值(转)
2010-03-22 14:30 1345flex组件的 verticalScrollPositio ... -
Flex 中的 DataGrid 自动刷新(转)
2010-03-18 13:56 4182当修改 DataGrid 实例的数据, 即修改数据源(data ... -
flex TabNavigator 切换之前给出提示(转)
2010-03-02 16:25 2965<?xml version="1.0" ... -
十二个非常有用的Flex函数Source In Flex(转)
2010-03-02 16:06 1359No.1 Copy content to clipboar ... -
移除Flex被验证控件的红边框和错误Tip提示
2010-02-25 16:32 1429Removing the red border from co ... -
EventListener的add和remove
2010-02-25 16:25 1593<?xml version="1.0" ... -
Flex中如何去掉Tree控件默认文件夹图标、叶子节点图标
2009-12-24 14:11 2452利用folderClosedIcon和folderOpenIc ... -
如何使用Flex HDividedBox
2009-12-23 09:56 1154<?xml version="1.0" ... -
Flex tree组件数据源、图标等修改
2009-12-22 15:30 3084<?xml version="1.0" ... -
FLEX Tree 控件动态加载
2009-12-22 15:26 3638首先给Tree设置一个数据源: [Bindable] pr ... -
Flex Tree 组件使用的两个小技巧
2009-12-22 15:20 2353学习了一段时间的Flex,感觉Flex再成熟一些的话,Flex ... -
Flex异步令牌AsyncToken的用法介绍
2009-12-22 14:44 4949什么是AsyncToken?官 ... -
Flex将Array作为Tree的数据源
2009-12-22 11:40 1499<?xml version="1.0" ... -
Flex Logging
2009-11-16 11:40 1628我们在编写Flex应用程序的时候经常会忽略logging,发现 ... -
Flex XML转ArrayCollection
2009-10-29 22:21 2966mxml: <?xml version="1 ... -
Flash log 插件
2009-10-29 16:15 999Flash Tracer https://addons.mo ... -
用一个HelloWorl例子手把手教会你使用BlazeDS
2009-10-21 10:58 1235什么是BlazeDS呢? ... -
整合Flex+struts+BlazeDS+tomcat+mysql
2009-10-13 14:41 4400Flex 技术是一种完善的 RIA 技术,因此与 we ... -
flex"页面跳转"
2009-10-13 14:37 5679其实对于这个题目是不恰当的,因为flex中是没有页面这个概念的 ...
相关推荐
NULL 博文链接:https://raymondhekk.iteye.com/blog/371940
Flex启动与初始化Flex启动与初始化Flex启动与初始化
创 建过Java多语言本地化应用的朋友应该都很熟悉Java的本地化资源访问的功能,现在好了,Flex2诸多激动人心更新中的一个就是本地化特性 (localization feature),这倒是Adobe加强推广Flex2的一个强助力了(这一...
修改枯燥的flex默认的初始化页面。个性的进度条,个性的logo
flex flex flex flex flex
深入讲解flex启动化调用的类,启动原理
《Flex企业应用开发实战》共分为4大部分,涵盖企业级应用开发的整个生命周期。首先介绍了Flex/Flash的工作机理和利用Flex开发企业级应用必须掌握的基础知识和核心元素;接着剖析了Flex与Java的通信机制,以及Flex...
Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex ...
flex 入门介绍 flex 如何结合 j2ee 开发应用程序以及 flex 的国际化等
Flex、案例、Flex应用案例
ArcGIS API for Flex应用开发
这是一本入门级的Flex电子书,适合入门的朋友看!
《Flex企业应用开发实战》全书共分为4大部分,涵盖企业级应用开发的整个生命周期。首先介绍了Flex/Flash的工作机理和利用Flex开发企业级应用必须掌握的基础知识和核心元素;接着剖析了Flex与Java的通信机制,以及...
sfapi 可以expose flex应用程序的控件,以便测试程序通过执行js方法调用而操作flex界面控件
具有代表性的17个Flex开发的应用介绍,具有一定参考价值
Flex应用3D饼图,柱图线图,仪表盘,AdvancedDataGrid表头皮肤,分数较高,不建议下载,仅自己保留
Flex 应用内存泄露的分析与诊断 Flex 应用内存泄露的分析与诊断
是 http://download.csdn.net/detail/zhaoshansanxia/4115320 的Intellij IDEA 版本 如果了解IDEA 可以只下载一个即可!所需的jar包都包含在上面地址的源码中