- 浏览: 583336 次
文章分类
- 全部博客 (174)
- Core Java 学习 (6)
- Hibernate 学习 (3)
- Struts 学习 (3)
- Spring 学习 (9)
- EJB 学习 (0)
- 设计模式 (0)
- Oracle 学习 (6)
- JRuby (0)
- PHP (18)
- MySql (7)
- Apache (6)
- Informix (2)
- JSTL (1)
- CSS+HTML (8)
- Ajax (2)
- javaScript (16)
- reverse Ajax (1)
- Discuz (7)
- 网站 (11)
- SEO (5)
- Linux (4)
- ecshop (1)
- 电子商务 (1)
- 文档在线浏览 (18)
- 服务器技术 (10)
- flex (17)
- 用户体验 (1)
- java (1)
- flex+blazeDS (1)
- tomcat (1)
- 开发管理 (1)
最新评论
-
niaoqq1:
真坑爹,全是中文字符,复制全部报错!
<c:forEach 详解 -
jhys7s8jd:
pdf打印机下载http://www.onlinedown.n ...
命令行下转换word文档成PDF -
海豚12315:
flashPaper读取磁盘上的文件路径,
最好是放到某个系统 ...
在线文档阅读实现的解决方案 -
八月约克:
火狐不支持这个东东
Scripting.Dictionary的使用 -
longgol:
有一问:怎么通过flashPaper读取磁盘上的文件路径呢。我 ...
在线文档阅读实现的解决方案
Flex应用程序共由两帧组成,第1帧为preloader部分,第2帧为主应用程序部分,此两部分由Flex应用程序 的根SystemManager统管,SystemManager是flash.display.MovieClip的子类,影片剪辑(movie clip)支持帧。由于swf属于一种渐进式(progressive)下载的格式,正是由于swf格式这个特性,Flash Player并不需要等待整个程序下载完成便可直接访问已载入帧的内容,因此第一帧通常用来作为应用程序载入时的loading画面显示,一般来说,第一 帧包含的内容应该尽可能的少(在第一帧中尽量不要含有Flex框架的组件),以便能很快的下载并立即显示;第二帧才是主应用程序真正的内容,一旦 SystemManager实例进入到第二帧后,即开始内部主应用程序运行的生命周期(life cycle),也就是进入我们最为熟悉的<mx:Application>运行的部分(SystemManger实例有一 application的属性,在第1帧时,此属性为null,当进入到第2帧时,该属性才指向真正的主程序application实例)记住我们开始所说的,Flex应用程序总的来说是以事件驱动的程序。
在程序进入第2帧,主程序application开始运行后,便会相应的触发相应的一系列事件,按事件发生的先后顺序依次来介绍: preinitialize 应用程序application已实例化,但此时还未创建任何相关的孩子组件(child component) initialize 此时,创建了相应的孩子组件,但还未对这些子组件进行布局 creationComplete 应用程序application完成全部实例化,并完成所有子组件的布局 apllicationComplete 上面三处事件的完成,表明application内部启动的整个进程完成,接下来便会通知SystemManager派发applicationComplete事件。此时,启动程序启动完成并准备运行。 大多数情况下, 我们使用<mx:Application>来创建application对象, 但如果使用ActionScript来创建的话, 那么建议不要在application的构造函数中创建组件, 推荐在crateChildren函数中, 主要是从性能方面考虑. <?xml version="1.0" encoding="utf-8"?>
SystemManager是Flex应用的主控者, 它控制着应用窗口, Application实例, 弹出窗口, cursors, 并管理着ApplicationDomain中的类. SystemManager是FlashPlayer实例化的第一个类, 它存储了主应用窗口的大小和位置信息, 保存其子组件比如:浮动弹出窗口和模态窗口的痕迹. 通过SystemManager可以获得内嵌字体,样式和document对象.
自定义的可视化组件(UIComponent的子类)只有在调用过addChild()后, 才会有一个SystemManager赋给他们, 之前是Null. 所以在自定义可视化组件的构造函数中不要使用SystemManager.
通常, Application对象创建时, 发生如下事件:
2. 初始化Application.systemManager
3. Application在初始化过程之前, 派发预初始化事件.
4. 调用createChild(). 此时, 所有应用组件被创建, 所有组件的createChild()被调用.
5. Application派发初始化事件, 表明所有的组件初始化完毕.
6. 派发creationComplete事件
7. Application对象添加到显示列表中
8. 派发applicationComplete事件
Flex 是一个事件驱动的编程模型, 任何事情的发生, 其背后必然存在一个事件. 而开发者第一次看到MXML时, 很难体会到一个Xml标记的应用的事件流和实例化的生命周期. 这个对于HTML和Flash的开发者尤其会感到困惑, 因为其熟悉的方式与Flex的一点也不相似. HTML的实例化是从上到下的, Flash的执行是从Frame0开始一帧帧运行的. 而Flex则又有不同.
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768" backgroundColor="#3A6EA5"
preinitialize="report(event,'preinitialize')"
initialize="report(event,'initialize')"
creationComplete="report(event,'creationComplete')"
applicationComplete="report(event,'applicationComplete')">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx: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';
}
]]>
</fx:Script>
<s:HGroup x="6" y="10" width="100%" height="47"
preinitialize="report(event,'preinitialize')"
initialize="report(event,'initialize')"
creationComplete="report(event,'creationComplete')">
<s:Button label="clear" height="43" width="291"
preinitialize="report(event,'preinitialize')"
initialize="report(event,'initialize')"
creationComplete="report(event,'creationComplete')"
rollOver="report(event,'rollOver')"
rollOut="report(event,'rollOut')" fontSize="15" fontWeight="bold"
click="outTextData='';" />
</s:HGroup>
<s:TextArea x="10" y="65" width="100%" height="309" borderAlpha="0.3" text="{outTextData}"
preinitialize="report(event,'preinitialize')"
initialize="report(event,'initialize')"
creationComplete="report(event,'creationComplete')"
color="0xEF0D0D" contentBackgroundAlpha=".7"/>
</s:Application>
发表评论
-
图片遮罩
2011-11-25 18:03 1128<mx:Canvas width="10 ... -
Flex:使用ArrayCollection过滤Tree
2011-11-16 14:22 1396Flex中的 Tree 是很难被过滤的,因为它们包 ... -
datagrid中滚动条问题
2011-11-14 18:26 3619经常有人在看了前面写的《Flex实现多文 ... -
flex 弹出菜单
2011-11-04 14:38 1192<?xml version="1.0" ... -
AIR管理文件关联, 指定文件默认打开方式
2011-10-30 17:50 2251参考:http://help.adobe.com/zh_CN/ ... -
如何区分不同的订阅者。以便实现个性化订阅。
2011-10-28 04:12 1561参考文章 http://hi.baidu.com/wos ... -
在messaging服务中的服务端的一些属性的说明
2011-10-27 03:29 1069Subscription-timeout-minutes:在这 ... -
Flex事件冒泡机制
2011-09-28 23:22 2727在网上浏览了几篇文章,大体总结了一下,简单说明如下: 事 ... -
Adobe Flex迷你教程 -- 合理使用Module分割项目以及对Module的使用
2011-09-26 15:27 1024现在说说Module,这篇教程代码不是最重要的,怎么样合理的使 ... -
12条有用的Flex代码
2011-09-19 21:46 10161.复制内容到系统剪贴板 System.setClipbo ... -
Flex中的 for in 与 for each in
2011-09-12 19:07 1150for...in循环中的迭代变量是对象中的键名(Flex中 ... -
Flex AIR)创建“不规则形状”的Air透明窗体(二)--使用Flex SDK4.5.1
2011-09-10 15:53 2410在此之前,我曾写过一篇关于《创建“不规则形状”的Air透明 ... -
Adobe Flash Builder的强大功能--移动设备控制桌面Apps
2011-09-08 14:29 928这个视频中,Adobe平台技术经理Tomas Krcha将会给 ... -
利用AIR的ServerSocket类让 AIR 做socket服务器
2011-08-30 16:13 5826新的air sdk 新增了 ServerSocket类, ... -
Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)<视频聊天,会议开发实例3>
2011-08-27 14:06 1714本篇是视频聊天,会议 ... -
Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数)
2011-08-27 13:59 1062本章主要总结数据库的插入,删除,修改,以及语句参数的使用本 ...
相关推荐
Flex启动与初始化Flex启动与初始化Flex启动与初始化
修改枯燥的flex默认的初始化页面。个性的进度条,个性的logo
深入讲解flex启动化调用的类,启动原理
Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex ...
Flex Application Performance: Tips and Techniques for Improving Client Application and Server Performance November 2004 Brandon Purcell Deepa Subramanian
flex 入门介绍 flex 如何结合 j2ee 开发应用程序以及 flex 的国际化等
Flex动态CSS,设定整个application的CSS样式
Flex Application Flex Application Flex Application
Flex 代码格式化工具 1. 将jar包放在Flex Builder或者Eclipse的plugins文件夹里(例如:C:\Program Files\Adobe\Flex Builder 3\plugins); 2. 重启Flex Builder或Eclipse,必要时使用-clean参数重启; 3. 工具栏...
Parsley的一个Demo 比pureMVC更适合用在Flex 也可以在java blazeDS 中运行 http://coenraets.org/blog/2009/07/building-a-flex-application-with-the-parsley-framework/
介绍 Flex 项目 国际化的 具体方法
Flex自定义组件,带最大化、最小化、还原及关闭按钮。
由于flex builder3自身不能格式化代码,本插件就是实现这个功能,方便代码整理
flex 代码格式化包 flex 代码格式化包flex 代码格式化包flex 代码格式化包
实现flex4窗体最大化 最小话 和关闭功能
flex两种右键菜单,RightClickManager修改后在非Application下也可以弹出来。
深入浅出Flex_Viewer.pdf