`
jja1982
  • 浏览: 112440 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Flex3实战 读书笔记(二)

    博客分类:
  • Flex
阅读更多
事件
可以将事件形成(从应用程序根级组件到分派组件,再到根级组件)分为几个阶段。根据事件在传播过程中的位置,可以分为如下3个阶段。
1. 捕获(Capture):应用程序将时间发送到分派组件(dispatcher)。
2. 冒泡(Bubbing):事件从分派组件发送回应用程序。
3. 目标(Target):即事件已经到达其目标(即分派组件)。
在这三个阶段中,冒泡阶段用得最多。捕获阶段使用较少,除非需要检查并实现截获事件。
在捕获阶段侦听事件比在冒泡阶段的速度慢一些。如果在捕获阶段侦听的事件过多,应用程序很可能因此而运行缓慢。通常,创建的大多数事件侦听器都在冒泡阶段使用。

Flex事件由下列信息段构成:
Event.target:分派组件。
Event.currentTarget:当前包含并检查事件的组件。
Event.type:识别事件类型的字符串。
Event.eventPhase:事件在当前所处的阶段。
使用ActionScript的addEventListener()函数不仅可以对事件进行更精细地控制,而且也是在ActionScript代码中侦听组件分派的事件的唯一途径。使用ActionScript为组件添加的事件侦听器可以被移除,但不能在MXML中移除。
如果想在冒泡阶段之外的其他阶段侦听事件,也必须使用这个ActionScript方法来添加侦听器。
Flex事件如此强大的原因之一,是允许开发人员创建并使用自定义警报与应用程序通信。通过在数据变化或用户执行某些操作时发送事件,可以实现应用程序逻辑与使用这些逻辑的对象的分离。这种分离有助于用用程序结构的模块化,即一个组件的改变不会影响其他部分。
在发送自定义事件时,要使用对象的dispatchEvent()方法。

停止事件传播
在任何时间阶段(捕获、目标或冒泡)都可以使用stopPropagation()和stopImmediatePropagation()方法停止其他组件传播。这两个方法本质上是相同的,区别仅在于是否允许同一组件上的其他事件侦听器接受相应的事件。
换句话说,如果在事件上调用event.stopPropagation()方法,它会在给定组件上的所有其他事件侦听器完成对这个事件的响应之后停止时间传播。如果使用event.stopImmediatePropagation()方法,事件会在传播到其他任何时间侦听器之前被停止,即使这些事件侦听器侦听道德都是同一个组件。

应用程序导航
导航组件:Menu、MenuBar、TabBar、TabNavigator、Accordion
为菜单和菜单栏配置数据的方式有很多。但是,如果只能选择一种方式,应该选择XMLListCollection。
Flex中的组件通常都有MXML和ActionScript两个版本,但菜单却没有MXML组件,只能使用ActionScript设置和显示菜单。

弹出式窗口
所有弹出式窗口都是通过弹出式窗口管理程序创建和管理的。弹出式窗口管理程序是一个类,他负责初始化窗口并管理窗口在应用程序中的分层布局,目的是帮助开发人员避免布置和安排窗口中可能的冲突。
在创建弹出式窗口时,可以选址一个容器组件作为弹出式窗口的基础(也成为基础标签)。最常见也容易使用的基础标签是TitleWindow。
模态窗口会限制用户只能在弹出式窗口的范围内单击鼠标,即不允许在窗口的边框之外单击鼠标。在将弹出式窗口显示为模态窗口的情况下,发生在弹出式窗口外部的单击都会被忽略(不能因此返回主应用程序窗口)。
从技术角度看,createPopUp()方法创建和初始化对象,而addPopUp()则取得先前已经初始化的对象并将其添加到显示列表中。
一般来说,所有事件的工作原理都一样,但弹出式窗口发送的时间有所不同。弹出式窗口的事件不会沿继承链传播到应用程序的根节点。相反,弹出式窗口分派的事件传播到窗口的根节点即停止。
从窗口中取得数据的更好方式是通过用户触发的事件,即当事件被触发时,把表单元素中的数据复制到一个窗口对象的属性中,然后再从这个属性中提取数据。另一种方式是在编辑完后,将数据保存到窗口分派的事件对象中。

视图状态
基础或默认视图指的是在应用程序中编写逐渐的初始状态。其他状态都是在初始状态基础上,通过设置属性、一组或添加子对象定义而成的。
通过设置组件或应用程序的currentState属性改变视图状态。
使用baseOn属性,可以基于其他状态构建新状态,并且重用源状态的属性。
在状态改变时,可以针对特定对象应用过渡;而使用过渡来组织和排队效果,能够有效控制效果播放的事件和循序。

使用数据服务
Flex提供不同的方法和对象(remoteObject、WebService、HTTPService和URLLoader等),把数据传送给应用程序。
大体而言,每个Web服务组件的工作原理都很相似。首先,通过传入Web服务的位置(或URL)初始化组件;然后设置变量并调用操作名或send()函数,以执行命令。最后等待ResultEvent(或者,如果事情没有按计划顺利完成,FaultEvent)已确定是否成功返回响应。如果成功获得相应数据,就可以在应用程序的组件中使用这些数据。

创建自定义组件的关键在于封装,应该通过减少自定义组件对应用程序工作方式的了解程度确保其可以重用;而自定义组件本身也应该尽可能保持独立,以便在多个应用程序中使用。如果你创建的自定义组件不关心会被谁调用以及调用者的目的,而且调用者也不用关心自定义组件的内部实现,我们就要恭喜你了。

SWC文件包含类、资产(asset)和组件的容器,你讲这些资源放入SWC文件供重构。SWC文件类似于.jar文件
一个SWC就是一个共享库,可以通过静态或动态的方式应用。在静态方式下,要把SWC中的一切资源都嵌入到最终的SWF文件中。从应用程序开发角度看,如果类和资产(如图像)要在多个应用程序中使用,这种方式会导致SWF文件比较大。
动态链接就是把SWC作为RSL的方式(也是更值得推荐的方式),即在运行期间根据需要加载类。

1
0
分享到:
评论

相关推荐

    Flex3 实战

    Flex3实战Flex3实战Flex3实战Flex3实战Flex3实战Flex3实战Flex3实战Flex3实战

    flex3读书笔记----flex整合hibernate

    flex3读书笔记----flex整合hibernate

    Flex_CookBook_读书笔记(精品)

    Flex_CookBook_读书笔记(精品) Flex_CookBook_读书笔记(精品)

    Flex3实战

    资源名称:Flex 3实战内容简介:Flex 3实战《Flex3实战》首先简要概述Flex 3和Actionscript,然后以十分友好、务实的方式介绍Flex的每个主要组件。其中穿插的示例编排合理,注解清晰,引导你重点关注与每个...

    《Flex 4实战》.pdf

    《Flex 4实战》主要内容简介:Flex已经从原来构建flash应用程序的一种方式发展成为一个丰富的体系。Flex4中引入了新的ui组件,提供了更好的性能监控,并且大大提高了编译速度。《Flex 4实战》是一本全面的指南,为...

    Flex4实战完整版(1)

    《Flex4实战》是一本全面的指南,为web设计人员和开发人员提供了Flex的详细介绍。本书从基础讲起,介绍了有关表单和数据的知识,然后逐渐过渡到核心概念,如导航、拖放和事件。即使读者刚刚接触Flex,在阅读本书之后...

    Flex学习笔记Flex学习笔记Flex学习笔记

    Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记Flex学习笔记

    Flex.3实战(中文版)

    《Flex3实战》首先简要概述Flex 3和ActionScript,然后以十分友好、务实的方式介绍Flex的每个主要组件。其中穿插的示例编排合理,注解清晰,引导你重点关注与每个标记或类相关的主要属性、方法和事件。《Flex3实战》...

    flex4_读书笔记

    汇总了Flex4的基本概念,组件、事件的使用,涉及swf的一些知识,最好是有一些Flex知识的人效果会比较好一些

    Flex4实战源代码

    Flex4 实战 全部源代码 试过之后确实可以使用

    Flex4实战PDF 第二部分

    Flex4实战PDF 包括 Flex4实战PDF.zip和Flex4实战PDF.z01两个包,同时下载并解压

    Flex3实战 part2

    Flex3实战 中文版 一共两个压缩文件,请全部解压

    Flex3实战 part1

    Flex3实战中文版,共两个文件,请全部下载后再解压

    FLEX 4实战_目录版.pdf

    之前下载的Flex实战,觉得不方便填了目录,分享给大家

    Flex3实战配套源代码

    《Flex3实战》是由清华大学出版社出版的 网上pdf书好找 到处都是 源码很难找到 我找了它配套的源码 我发上来 挣点资源分没办法 这个网下载很多都要积分。 中文名: Flex3实战 原名: Flex 3 in Action 别名: Flex,...

    企业应用FLEX开发实战

    代源码的企业应用FLEX开发实战,包括电子书及源码,分为10个章节

    Flex 3实战(高清版)

    Flex 3是一个完美的富web客户端开发平台,《Flex3实战》本书通俗易懂,是学习Flex的好帮手,本书是高清版的。 共享给大家一起学习提高。

    完整中文版《Flex4实战》1

    完整中文版《Flex4实战》,不多解释,近600页。共3个压缩文件。

    Flex4实战代码

    Flex4实战代码

    Flex4实战-Flex in Action

    Flex4实战-Flex in Action Flex已经从原来构建Flash应用程序的一种方式发展成为 一个丰富的体系。Flex 4中引入了新的UI组件,提供了更好 的性能监控,并且大大提高了编译速度。  《Flex 4实战》是一本全面的指南...

Global site tag (gtag.js) - Google Analytics