在Flex中增加一个新的事件,通常需要如下步骤:
1. 创建一个自定义的事件类,该类继承自flash.events.Event,比如
1: package mypackage
2: {
3: import flash.events.Event;
4:
5: public class ValueChangedEvent extends Event
6: {
7: // event name
8: public static const VALUE_CHANGED:String = "valueChanged";
9: public var value:Number; // customized filed for the event
10:
11: public function ValueChangedEvent(type:String, newValue:Number)
12: {
13: super(type);
14: this.value = newValue
15: }
16:
17: override public function clone():Event {
18: return new ValueChangedEvent(type, value);
19: }
20: }
21: }
2. 在需要发布事件的组件里面,创建一个事件的metadata标签,这样Flex Builder就能自动提示该组件支持这个事件。
比如,在action script里面:
1: [Event(name="valueChange", type="mypackages.ValueChangeEvent")]
2: public class MyComponent extends TextArea
3: {
4: ...
5: }
6:
在mxml里面:
1: <mx:Metadata>
2: [Event(name="valueChanged", type="mypackage.ValueChangeEvent")]
3: </mx:Metadata>
4:
3. 注册事件
在MXML里面处理事件很简单。如果要把多个对象作为事件的接受者,该怎么办呢?在Flex里面,多数Components都继承了 EventDispatcher,该类提供了管理、通知事件的功能。从这点上看,Flex比Java要方便些。
如果要把一个对象注册为某个事件的接受者,只需下面这段代码:
1: addEventListener(ValueChangedEvent.VALUE_CHANGED,listener);
[注意]上面方法中的listener是一个 Function对象。如果你需要myobj里面的handleValueChanged方法能响应该事件,那么你需要将 myobj.handleValueChanged传给addEventListener方法,注意handleValueChanged后面没有" ()"。
4. 通知事件
在发布事件的组件里面,通过调用如下代码就能把相应的事件发布出去:
1: var e:ValueChangedEvent = new ValueChangedEvent(
2: ValueChangedEvent.VALUE_CHANGED, newValue);
3: dispatchEvent(e);
Flex里面,创建自定义事件需要两个参数,一个代表事件类型的String对象,一个是特定于这个事件的信息(比如这里的newValue)。
分享到:
相关推荐
自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,...
4. 示例学习:在"flex自定义组件事件DEMO"中,你可以看到如何在自定义组件中创建并派发自定义事件,以及如何在其他地方监听和响应这些事件。通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在...
### Flex自定义事件详解 Flex 是一款用于构建和部署跨平台桌面应用与移动应用的开源框架,它基于Adobe Flash Platform。在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的...
在MXML中,你可以使用`<mx:Metadata>`标签声明自定义事件,然后在代码中使用`dispatchEvent()`方法触发这些事件。 5. **MXML使用**:MXML是一种声明式语言,用于描述Flex界面的布局和组件。在MXML文件中,你可以像...
### Flex4自定义组件开发详解 #### 一、Flex4自定义组件概述 Flex4(也称为Spark)是Adobe Flex框架的一个重要版本,它引入了许多新的特性,包括改进的组件库、性能优化以及更好的可定制性。在Flex4中,自定义组件...
### 二、Flex自定义事件 #### 1. 为什么需要自定义事件 Flex的内置事件(如 MouseEvent 和 Event)可能不足以满足所有交互需求。自定义事件允许开发者创建具有特定含义和数据的事件,以更好地匹配应用的业务逻辑。...
1. 事件监听:在Flex中,可以使用addEventListener方法监听特定事件,如HTTPService的result或fault事件,或者自定义的下载事件。 2. 进度更新:当接收到下载进度更新事件时,需要调用ProgressBar的...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
在Flex Mobile中,自定义实现弹出对话框是一项常见的需求,这通常涉及到用户交互和界面设计的灵活性。 对话框在移动应用中扮演着重要的角色,它们可以用来显示警告、询问用户输入或者进行一些特殊操作。在Flex ...
如何接收事件?如何做到AS3.0的标准事件编程? 类似JAVA的监听或观察者模式 Event改变的部分很多,正在想怎样用一个有条理的方式来讲解Event和它相关的诸多内容,让我们感到比较容易理解,记忆和接受。
3. **派发事件**:在需要触发事件的地方,使用`dispatchEvent()`方法发送自定义事件。 4. **监听事件**:在接收方组件中,使用`addEventListener()`方法添加事件监听器,处理自定义事件。 在提供的“WinCCALLMine”...
NULL 博文链接:https://futurewwm.iteye.com/blog/1277119
在实际项目中,你可以根据需要在自定义的ItemRenderer中添加更多的逻辑,比如事件监听器,以便在用户与列表项交互时执行特定的操作。 总之,通过继承和扩展IconItemRenderer,我们可以实现Flex手机项目的List组件的...
本视频教程聚焦于Flex4中ActionScript(AS)的自定义事件使用,这在开发过程中非常重要,因为它允许开发者扩展和定制应用程序的通信机制。 自定义事件是Flex编程中的一个关键概念,它允许开发人员创建具有特定业务...
#### 二、Flex自定义控件概述 在Flex中,自定义控件是指根据特定需求构建的新控件,这些控件可以基于现有的Flex标准控件进行扩展,也可以完全从头开始创建。自定义控件的主要优势在于能够提供更符合特定业务场景的...
flex4自定义弹出窗口 支持最大化 最小化
在Flex4中,自定义组件是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和外观的用户界面元素。本话题聚焦于自定义一个通用的`ImageButton`组件,该组件结合了图像和按钮的功能,提供了更丰富的交互体验...
- 使用Flex SDK中的Skin类或MXML来创建自定义皮肤。皮肤通常包含一组显式状态,以便在组件的不同状态下展示不同的外观。 - 在MXML中,你可以使用`<s:Skin>`标签作为根元素,并添加如`<s:Rect>`, `<s:Path>`, `...
### Flex4.0自定义控件开发详解 #### 一、引言 随着Flex技术的发展,自定义控件成为提高应用程序灵活性与可扩展性的重要手段之一。本文将深入讲解Flex4.0环境下自定义控件的开发过程及注意事项,帮助开发者更好地...
本文将深入探讨Flex自定义控件的创建过程,从前期准备到实际应用,帮助读者掌握这一关键技能。 #### 前期准备与创建自定义控件 在开始创建自定义控件之前,你需要确保已经安装了Adobe Flex SDK和相应的IDE,例如...