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

Flex事件分发

阅读更多

    本文和大家重点讨论一下Flex事件分发的概念,在分发事件时,将会分发一个事件对象出去。不管是那个事件类,都是继承自flash.events.Event对象的,他包含一些比较重要的属性,type和bubbles。

    Flex事件分发

    最终继承自EventDispatcher的对象都会含有dispatchEvent这个方法,他有一个参数,事件对象。之前说到的事件注册通道,他只是一个通道,实际上事件是由这个方法来分发出去的,通道只是一个管道而已。

    他的作用就是分发一个事件对象,他的分发是没有目的的,一种广播形式的,Flex的事件监听线程会接收到各种各样的事件(我们称之为捕获事件,这在后面会介绍到),那么哪种才是你要的事件,标识就通过事件的type属性来区分。

    自定义Flex事件分发

    这部分就不长篇大论了,因为各位应该已经掌握了事件的原理,因此贴出演示源码,并进行些简单的解释。

    1.自定义Flex事件components/MyEventTest.as

  1. packagecomponents  
  2. {  
  3. importmx.events.FlexEvent;  
  4. publicclassMyEventTestextendsFlexEvent  
  5. {  
  6. publicstaticconstONCHANGE:String="onChange";  
  7. publicvareventInfo:String;//自定义的事件信息  
  8. publicfunctionMyEventTest(s:String){  
  9. super(s);//如果在构造时不设bubbles,默认是false,也就是不能传递的。  
  10. eventInfo="这个事件是:"+s;  
  11. }  
  12. }  
  13. }  
  14.  

2.自定义组件components/ComponentForEvent.as

  1. packagecomponents  
  2. {  
  3. importflash.events.EventDispatcher;  
  4. //这个就是声明事件注册通道的方法了。name是事件对应的名称,也就是之前提到的type。Type是该事件的类  
  5. [Event(name="onChange",type="components.MyEventTest")]  
  6. publicclassComponentForEventextendsEventDispatcher  
  7. {  
  8. privatevarname:String;  
  9. publicfunctionchangeName(newName:String){  
  10. this.name=newName;  
  11. dispatchEvent(newMyEventTest(MyEventTest.ONCHANGE));  
  12. }  
  13. }  
  14. }  
  15.  

3.自定义Flex事件分发中App.mxml代码
 

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml" 
  3. layout="absolute"xmlns:comp  
  4. > 
  5. <mx:Script> 
  6. <![CDATA[  
  7. importmx.controls.Alert;  
  8. privatefunctionchangeName(){  
  9. cfe.changeName("新名称");  
  10. }  
  11. ]]> 
  12. </mx:Script> 
  13. <mx:Buttonidmx:Buttonid="testBtn"click="changeName()"label="测试"/> 
  14. <components:ComponentForEvent 
  15. id="cfe"/> 
  16. </mx:Application> 

分享到:
评论

相关推荐

    Flex 事件分发(FlexViewer事件机制)剥离过程

    AppEvent类还提供了一种静态的dispatch方法,方便直接创建并分发事件实例。 EventBus类是事件总线模式的实现,它负责接收事件并将其分发给所有注册的监听者。EventBus类中定义了两个主要的方法:addListener和...

    flex事件机制的分发

    在示例中,`CustomEvent`类使用静态的`EventDispatcher`实例`dispatcher`来分发事件。 - `addEventListener()`:用于注册事件监听器,指定事件发生时要执行的处理函数。 - `dispatchEvent()`:用于触发事件,将...

    用Flex+Java进行软件开发速成篇

    - **分发事件**: 组件通过`dispatchEvent`方法分发事件。例如:`myButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));` - **事件对象**: 每个事件都由一个事件对象表示,该对象封装了事件的相关信息,如事件...

    Flex事件机制详细说明

    此方法返回一个布尔值,通常为`true`,表示事件已成功分发。 为了向`Event`对象添加新的属性,开发者可以继承`Event`类并定义所需的属性。这种方法适用于需要携带额外信息的事件场景。 #### 四、事件的传播 事件...

    Flex事件机制(通俗易懂)

    **事件对象**:在分发事件时,会创建并发送一个事件对象。所有事件类都继承自 `Event` 类,这个基类包含了 `name` 和 `bubbles` 属性。`name` 属性用来标识事件的类型,而 `bubbles` 属性则决定了事件是否能够向上...

    flex事件机制分析

    Flex事件机制是Adobe Flex应用程序中处理用户交互和组件通信的核心组成部分。它主要涉及事件流、事件处理程序以及事件对象的概念,这些在构建富互联网应用程序(RIA)时扮演着至关重要的角色。下面将对这些概念进行...

    Flex 事件机制,flex入门学习

    【Flex 事件机制详解】 Flex 事件机制是 Flex 应用程序中不可或缺的一部分,它使得组件之间能够有效地通信,响应...通过深入了解事件注册、分发、监听以及自定义事件,开发者可以更高效地控制 Flex 应用程序的行为。

    flex 事件流原理

    3. **事件触发**:事件触发时,实际是调用了`dispatchEvent`方法,将事件对象分发出去。事件对象通常包含了事件的名称(`name`)、是否冒泡(`bubbles`)等信息。例如,`MouseEvent`的`bubbles`属性为`false`时,...

    关于flex事件的讲解

    在分发事件时,会分发一个事件对象。无论是什么类型的事件类,它们都是继承自`flash.events.Event`的。事件对象包含了一些重要的属性,如`name`和`bubbles`。 - `name`属性用于标识事件类型。 - `bubbles`属性是一...

    flex自定义事件、简单例子说明

    下面是一个简单的示例,演示如何在Flex应用中创建并分发`MyEvent`事件: ```xml ()"&gt; [Event(name="MY_CLICK", type="ascode.MyEvent")] &lt;![CDATA[ import ascode.MyEvent; public function init():...

    flexevent.rar_flex

    本文将深入探讨Flex事件的基础知识、事件模型、事件生命周期、事件监听器,以及如何自定义事件,旨在帮助初学者理解和熟练运用Flex的事件处理。 一、Flex事件基础 1. 事件模型:Flex采用的是基于发布/订阅...

    flex-event.zip_flex

    Flex事件机制是Adobe Flex应用程序开发中的关键组成部分,它允许组件之间进行有效的通信和状态管理。在Flex中,事件是用于传递信息的结构化对象,它们从一个源头(通常是组件)发送到其他感兴趣的接收者(监听器)。...

    Flex电子教案PPT

    事件模型支持事件监听和分发,使得组件之间可以通信和响应特定的行为。常见的事件有点击事件、数据改变事件等。 5. **Flex的组件概述**:Flex提供了一个强大的组件库,包括按钮、文本输入框、列表、面板等,这些预...

    flex-2.6.4.tar.gz

    7. **许可文件**:如`COPYING`,包含Flex的GPL许可证,详细说明了软件的使用、修改和分发条款。 编译Flex的步骤通常如下: 1. 解压文件:`tar -zxvf flex-2.6.4.tar.gz` 2. 进入解压后的目录:`cd flex-2.6.4` 3. ...

    Flex4视频教程_02-01事件概述.rar

    这个“Flex4视频教程_02-01事件概述”涵盖了关于Flex4中的事件处理系统的基础知识,这对于理解Flex应用程序中的交互逻辑至关重要。下面我们将深入探讨Flex4中的事件模型及其相关概念。 在Flex4中,事件是表示应用...

    Flex4.0中文API.rar

    10. **事件系统**:Flex 4.0的事件系统支持事件冒泡、事件捕捉和事件分发,开发者可以通过监听和处理事件来响应用户交互或系统变化。 通过阅读“Flex4.0中文API.chm”文档,开发者可以详细了解这些知识点,并学习...

    Flex框架Cairngorm经典案例源码

    2. **事件监听和分发**:使用EventDispatcher进行事件监听和分发,例如,当用户点击按钮时,会触发一个事件,命令类接收到该事件后进行处理。 3. **模型的创建和管理**:案例可能会展示如何创建和使用ModelLocator来...

    与大家分享一下Flex 学习资料 (续)

    9. **事件调度**:AS3的事件调度器负责将事件分发到正确的事件目标,确保事件处理的正确顺序。 通过深入学习和理解这些知识点,开发者能够有效地编写出响应用户操作、与其他组件通信并能优雅地处理错误的Flex应用...

    flex2帮助文档.chm

    8. **事件模型**:描述Flex事件模型的工作原理,以及如何处理和分发事件。 9. **样式和皮肤**:讨论如何通过CSS来定制组件的外观,以及创建和应用皮肤。 10. **调试和测试**:提供关于如何使用Flex Builder或其他...

    Flex移动开发第一次分享

    9. **发布与部署**:说明如何将Flex应用打包成AIR应用程序,以及如何在iOS和Android等平台上发布和分发。 10. **最佳实践和资源**:提供一些开发Flex移动应用的最佳实践,推荐相关的学习资源和社区支持。 虽然没有...

Global site tag (gtag.js) - Google Analytics