- 浏览: 807535 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (360)
- Java (101)
- JPA/Hibernate (10)
- Spring (14)
- Flex/BlazeDS (37)
- Database (30)
- Lucene/Solr/Nutch (0)
- Maven/Ant (25)
- CXF/WebService (3)
- RPC/RMI/SOAP/WSDL (1)
- REST (6)
- TDD/BDD/JUnit (1)
- Servlet/JSP (2)
- AI/MachineLearning (3)
- Resource (1)
- 字符编码 (2)
- OOA/OOPS/UML (5)
- DesignPattern (8)
- 算法与数据结构 (11)
- Web&App Server (13)
- 并发&异步&无阻塞 (7)
- Entertainment (4)
- JavaScript/ExtJS (45)
- CodeStyle&Quality (1)
- svn/git/perforce (8)
- JSON (2)
- JavaScriptTesting (4)
- Others (6)
- RegularExpression (2)
- Linux/Windows (12)
- Protocal (2)
- Celebrities (1)
- Interview (1)
- 计算机语言 (1)
- English (2)
- Eclipse (5)
- TimeZone/时区 (1)
- Finance (1)
- 信息安全 (1)
- JMS/MQ (2)
- XSD/XML/DTD (3)
- Android (4)
- 投资 (3)
- Distribution (3)
- Excel (1)
最新评论
-
qdujunjie:
如果把m换成具体的数字,比如4或者5,会让读者更明白
m阶B树中“阶”的含义 -
java-admin:
不错,加油,多写点文章
关于Extjs的mixins和plugin -
xiehuaidong880827:
你好,我用sencha cmd打包完本地工程后,把app.js ...
ExtJS使用Sencha Cmd合并javascript文件为一个文件 -
KIWIFLY:
lwpan 写道inverse = "true&qu ...
Hibernate中什么时候使用inverse=true -
luedipiaofeng:
good
消除IE stop running this script弹出框
EventDispatcher and IEventDispatcher是Flex提供给我们事件机制的模型,所有的displayObject都继承了EventDispatcher,因此可以直接在这些对象上调用addEventListener()方法,对于自定义的对象,如果想使用事件机制,就必选继承EventDispather或者定义一个EventDispatcher的成员变量。另外请注意,事件有capture phase, target phase ,bubble phase,如果你想在capture phase使用事件,也即在event的dispatcher的ancestor中注册listener,必须是该event是ancestor支持的event.
参考:You can only register an event listener with an object if that object dispatches the event. For example, you cannot register a Form container to listen for a click event, even though that container contains a Button control. Form containers do not dispatch click events. Form containers do dispatch the mouseDown event, so you could put a mouseDown event listener on the Form container tag. If you do that, your event listener is triggered whenever the Button control or Form container receives a mouseDown event.
Target 是dispatchEvent的对象,它是始终不变的,
currentTarget是event flow中当前在examine listener的对象,在不同的eventPhase是变化的。
虽然只有displayObject会被flashPlayer或AIR自动propagation, 对与自定义的对象我们可以手动传播,这样可以将一个自定义对象内的事件传播到其他的对象(任何对象,包括父容器)中取,由其他对象来处理。
当在自定义类中使用了[Event(name="afterDelete", type="flash.events.Event")]后,自定义类中就可以直接调用dispatchEvent(),addEventListener()而不需要再new 一个EventDispatcher做成员变量,然后通过成员变量来实现propagate event 的功能。
另外注意在自定义的propagate过程中,已经triggered的event类型可能会被强制转换成通过[Event(name="afterDelete", type="flash.events.Event")]语句声明的event类型,
例如,如果元标记用的是[Event(name="afterDelete", type="flash.events.Event")],而派发的事件为dispatchEvent(new DataModelEvent("afterUpdate"));
那么在注册listener是应该如下:addEventListener(“afterUpdate”,propagateEvent);
public function propagateModelEvent(e:Event):void
{
dispatchEvent(e);
}
注意参数用的是e:Evnet,不应该用CustomEvent,否则可能报错,因为原标记中event类型为Event,而不是CustomEvent。
参考:You can only register an event listener with an object if that object dispatches the event. For example, you cannot register a Form container to listen for a click event, even though that container contains a Button control. Form containers do not dispatch click events. Form containers do dispatch the mouseDown event, so you could put a mouseDown event listener on the Form container tag. If you do that, your event listener is triggered whenever the Button control or Form container receives a mouseDown event.
Target 是dispatchEvent的对象,它是始终不变的,
currentTarget是event flow中当前在examine listener的对象,在不同的eventPhase是变化的。
虽然只有displayObject会被flashPlayer或AIR自动propagation, 对与自定义的对象我们可以手动传播,这样可以将一个自定义对象内的事件传播到其他的对象(任何对象,包括父容器)中取,由其他对象来处理。
当在自定义类中使用了[Event(name="afterDelete", type="flash.events.Event")]后,自定义类中就可以直接调用dispatchEvent(),addEventListener()而不需要再new 一个EventDispatcher做成员变量,然后通过成员变量来实现propagate event 的功能。
另外注意在自定义的propagate过程中,已经triggered的event类型可能会被强制转换成通过[Event(name="afterDelete", type="flash.events.Event")]语句声明的event类型,
例如,如果元标记用的是[Event(name="afterDelete", type="flash.events.Event")],而派发的事件为dispatchEvent(new DataModelEvent("afterUpdate"));
那么在注册listener是应该如下:addEventListener(“afterUpdate”,propagateEvent);
public function propagateModelEvent(e:Event):void
{
dispatchEvent(e);
}
注意参数用的是e:Evnet,不应该用CustomEvent,否则可能报错,因为原标记中event类型为Event,而不是CustomEvent。
发表评论
-
Panel高度为0但里面的组件依旧显示
2013-04-24 14:34 1125解决办法: 把Panel中的内容组件用<s:Scroll ... -
约束布局constraint layout
2013-03-01 14:02 1871约束布局constraint layout要点: 1)只有支持 ... -
根据屏幕分辨率动态调整组件大小
2013-02-22 17:34 1561将代码写在组件的preInitialize事件监听器里面 简化 ... -
设置Flex组件的尺寸大小
2013-02-21 16:17 1584深红色部分标明了需注意的地方 另外要注意组件和容器的生命周 ... -
Flex minWidth minHeight
2013-02-04 16:17 1569minWidth 这个值并不是给组件自己用的,而是给组件的父容 ... -
ActionScript遍历绑定(BindProperty,BindSetter,ChangeWatcher)
2013-02-01 10:11 2512注意: 为防止内存益处,记得调用watcherInstance ... -
Flex程序适应不同屏幕尺寸和分辨率(滚动条)
2013-01-31 15:02 9891FlashBuilder编译后自动生成的xx.html里面定义 ... -
FlexContext, FlexClient,FlexSession
2013-01-15 15:05 2431使用了BlazeDS后,可以从FlexContext中获取一系 ... -
防止RemoteObject批处理AMF消息
2013-01-14 17:01 1344问题描述: 如果你在短时内调用同一个java对象上的两个方法, ... -
自动检测http和https的RemoteObject
2013-01-13 10:30 1845package { import util.Bro ... -
flex浏览器相关辅组类
2012-12-06 13:39 1290package util { import flash. ... -
Flex可变参数带来的问题
2012-12-06 13:34 1533当你在flex的方法中用了可变参数后,你会发现这些参数传到ja ... -
flex如何通过类名称实例化对象
2012-11-30 13:52 2777Getting the class from an objec ... -
flexlib的treeGrid用法
2012-11-30 13:46 1335为了使用treeGrid,通常你需要定义自己的DataDesc ... -
自定义flex tree的DataDescriptor
2012-11-30 13:42 1451public class EnvironmentDataDes ... -
关于Boolean类型在flex与java中间传递的问题
2012-11-30 13:38 1293/** *为简化,只列举两个字段 */ publi ... -
给Flex的Tree赋值方式(XML和ArrayCollection)
2012-11-30 09:33 40661)方式一,mxml内嵌xml数据赋值方式,Embedded ... -
Custom Alert
2012-11-26 19:21 0<?xml version="1.0&qu ... -
Flex服务端分页
2012-11-14 17:00 1094Structure: model event ... -
Flex可携带数据的Aler组件(DataCarriableAlert)
2012-11-14 16:52 1373package component.alert { ...
相关推荐
Flex事件模型是ActionScript 3.0的核心组成部分,它与Java的事件处理方式有所不同,但可以通过Java代码进行交互,特别是在使用 BlazeDS 或 LiveCycle Data Services 这样的技术时。让我们一起探讨这个主题,理解其...
首先,我们要理解Flex事件模型的基础。在Flex中,事件是由Event类或其子类表示的,它们是传递信息的对象。当一个事件发生时,它会从源对象(通常是组件)出发,沿着事件流传播。这个流分为两个阶段:冒泡阶段和捕获...
Flex事件模型基于ActionScript 3.0的事件模型,提供了一种标准的方式来处理UI组件和其他对象之间的通信。在这个主题中,我们将深入探讨Flex事件的基础、事件生命周期、事件处理程序以及如何在实践中使用它们。 首先...
Flex事件模型基于观察者模式,事件是组件间通信的主要方式。事件可以分为鼠标事件、键盘事件、组件事件等多种类型,通过addEventListener和removeEventListener方法来监听和处理事件。 七、Services与数据访问 Flex...
5. **事件处理**:介绍Flex事件模型,学习如何监听和处理用户交互以及程序运行过程中的事件。 6. **状态管理**:讲解如何利用Flex的状态管理功能来改变应用程序的不同视图或阶段,比如加载、登录、主界面等。 7. *...
6. **事件处理**: Flex事件模型允许组件之间进行通信。源码中可能包含事件监听器的实现,展示了如何响应用户操作或程序内部事件。 7. **服务调用**: Flex可以与各种后台服务器进行通信,如SOAP、RESTful或AMF服务。...
Flex采用事件驱动的编程模型,每一个动作背后都有相应的事件。理解事件流和MXML组件的实例化是学习Flex的基础。开发者需要了解事件何时触发以及如何触发,这与HTML和Flash的执行方式不同。HTML从上到下实例化,而...
一、Flex事件模型 Flex事件模型是其组件间通信的关键机制。它遵循W3C的DOM事件模型,但进行了扩展以适应富互联网应用的需求。事件模型包括事件的生成、传播和监听。当一个组件的状态发生变化时,如用户点击按钮或...
8. **事件处理**:Flex事件模型是其交互性的核心。文档会解释事件的生命周期、事件监听器和自定义事件的创建。 9. **Flex Builder/IDE集成**:如果文档是针对Adobe Flex Builder的,那么可能会包括如何使用这个IDE...
6. **事件处理**:Flex事件模型允许组件之间通过事件进行通信。开发者可以监听和处理用户操作、数据变化等各种事件,实现应用程序的交互逻辑。 7. **图表和可视化组件**:Flex提供了丰富的图表组件,如条形图、饼图...
6. **事件处理**:Flex事件模型允许开发者响应用户的交互,如点击按钮、改变选择等,通过添加事件监听器和处理函数实现相应的功能。 7. **Flex Builder**:一个集成开发环境(IDE),基于Eclipse,为Flex开发提供了...
Flex事件模型基于观察者模式,使得组件之间可以互相通信并响应用户交互。通过监听和处理事件,开发者可以实现动态响应的用户界面。 六、Flex服务连接 Flex可以轻松地与各种后端服务(如HTTP、AMF、SOAP等)进行通信...
Flex事件模型允许开发者处理用户与应用程序的交互。例如,当用户点击按钮时,可以触发一个事件处理器,执行相应的逻辑。 6. **Flex与 BlazeDS** BlazeDS是Adobe提供的服务器端技术,它为Flex应用程序提供了与Java...
7. **事件处理**: Flex事件模型使得开发者可以轻松地响应用户交互或其他程序事件,通过添加事件监听器来实现相应的功能。 在这个“flex第一步”源码中,你可能会看到如何设置Flex项目的结构,如何在MXML文件中创建...
8. **事件模型**:描述Flex事件模型的工作原理,以及如何处理和分发事件。 9. **样式和皮肤**:讨论如何通过CSS来定制组件的外观,以及创建和应用皮肤。 10. **调试和测试**:提供关于如何使用Flex Builder或其他...
在Flex中,事件模型基于DOM3事件模型。这意味着事件的传播遵循了一套固定的规则,包括事件的捕获、目标和上浮三个阶段。这些规则使得事件能够有效地被不同层级的对象监听和处理。 #### 二、事件流简介 事件流是指...
Flex API中的事件模型是基于AS3的事件模型,允许组件之间通过事件进行通信。例如,当用户点击按钮时,会触发一个Click事件,开发者可以注册监听器来处理这个事件。 5. 数据绑定: Flex API支持数据绑定,这是将UI...
Flex的事件驱动模型是其核心特性之一。通过监听和处理事件,你可以实现组件间的交互和响应用户操作。教程将详细解释事件的生命周期,如何添加事件监听器,以及如何自定义事件。 六、Flex应用程序生命周期 了解Flex...
6. **事件处理**:Flex事件模型是基于观察者模式的,事件的发布和订阅是源码中的常见操作。在设计器中,例如用户交互产生的事件(如点击、拖放)都需要适当的事件处理器。 7. **自定义组件**:为了实现特定的设计...
8. **事件处理**:Flex事件模型允许设计师处理用户交互,如点击、滚动等,从而实现动态响应的用户界面。 9. **集成第三方库和服务**:Flex支持与其他API和服务的集成,例如Adobe AIR、AMF(Action Message Format)...