`

Flex中自定义事件的两种方法--ActionScript、MXML

    博客分类:
  • Flex
阅读更多

       事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性;Flex也不例外几乎所有控件中都集成了大量的事件,如果ButtonClick事件等。但实际应用中控件自有的事件是不能满真实需要的,特别在自己编写自定义控件时,自定义控件内部信息的改变如何及时通知所在的容器变得很更要;这个时候自定义事件就起到它的作用。

       Flex中定义事件有两中情况,分别是ActionScriptMXML中定义。

       ActionScript中定义:

       [Event(name="myEnableEvent", type="flash.events.Event")]

public class MyComponent extends UIComponent

{

           ...

}

MXML中定义:

<mx:Metadata>

    [Event(name="DataChange", type="DataChangeEvent")]

</mx:Metadata>

 

DataChangeEvent事件参数的定义:

import flash.events.Event;

public class DataChangeEvent extends flash.events.Event

{

       public function DataChangeEvent()

       {

              super("DataChange");

       }

       public var Data:Object;

}

 

在自定义控件中定义和触发事件:

<?xml version="1.0" encoding="utf-8"?>

<mx:Form xmlns:mx="http://www.adobe.com/2006/mxml" width="212" height="56">

 <mx:Metadata>

        [Event(name="DataChange", type="DataChangeEvent")]

    </mx:Metadata>

 <mx:Button label="Button" click="Change()"/>

       <mx:Script>

              <![CDATA[

                     function Change():void

                     {

                            this.dispatchEvent(new DataChangeEvent());

                     }

              ]]>

       </mx:Script>

</mx:Form>

 

容器接收相关自定义控件事件:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">

      

       <ns1:EmployeeCombo x="146" y="132" DataChange="onChange(event)" >

       </ns1:EmployeeCombo>

       <mx:Script>

              <![CDATA[

                     import mx.controls.Alert;

                     function onChange(e:DataChangeEvent)

                     {

                           

                     }

              ]]>

       </mx:Script>

</mx:Application>

 

其实自定义事件的现实也很简单,但起着非常重要的作用;正是因为有了事件的机制,使得大部分重复的功能抽取到自定义控件中,从而达到一个很高的代码重用性。

分享到:
评论

相关推荐

    Flex自定义组件和事件

    Flex是Adobe开发的一种用于构建富互联网应用程序(RIA)的开源框架,主要基于ActionScript和MXML。在Flex中,自定义组件和事件的使用对于创建功能丰富的用户界面至关重要。下面我们将详细探讨这两个主题。 ### 一、...

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

    通过上述示例,我们可以看到Flex自定义事件的强大功能及其在实际项目中的应用。自定义事件不仅可以帮助我们更好地组织代码逻辑,还能实现更复杂的交互需求。掌握如何创建和使用自定义事件对于提高Flex应用的开发效率...

    Flex手机项目自定义List的ItemRenderer

    本文将深入探讨如何利用IconItemRenderer来实现这一目标,同时结合具体的实例,介绍两种不同的实现方式。 首先,理解List组件在Flex中的作用是至关重要的。List是一个可滚动的数据容器,用于展示大量数据项。默认...

    flex4自定义组件皮肤

    Flex4是一种基于ActionScript3和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库,包括MX和Spark两个主要组件集。在Flex4中,自定义组件皮肤是提升应用视觉效果和用户体验的重要...

    Flex自定义控件

    - **MXML与ActionScript结合**: Flex支持使用MXML和ActionScript两种方式创建自定义控件。MXML提供了声明式编程,而ActionScript则适合于面向对象的编程。 2. **自定义控件的创建过程** - **继承UIComponent**: ...

    FLEX提高篇--------AIR应用程序的托盘及托盘菜单的制作

    MXML是一种声明式语言,用于构建Flex界面和组件,包括自定义的UI元素和事件处理程序。 由于只提供了源码的一部分,我们无法直接运行或深入解析代码细节。不过,根据上述知识点,你可以尝试寻找相关教程或参考文档,...

    flex----组件---数据验证类

    在Flex中,组件主要由MXML和ActionScript两种方式来创建。MXML是一种声明式语言,它使得布局和组件配置变得更加直观。而ActionScript则提供更底层的编程能力,允许开发者自定义组件的行为。 数据验证在Flex中通常...

    flex的mxml语言基础

    Flex项目使用两种主要的编程语言:MXML和ActionScript 3.0。MXML类似于HTML,用于构建项目的可视部分,它定义了组件、布局和其他界面元素。而ActionScript 3.0是一种全面面向对象的语言,与JavaScript有相似之处,但...

    Flex dataGrid 自定义显示列

    在IT领域,尤其是在Web开发中,Flex是一种广泛使用的ActionScript框架,用于构建富互联网应用程序(RIA)。本篇文章将深入探讨Flex中的数据Grid组件以及如何自定义显示列,这对于提升用户体验和增强数据展示功能至关...

    FLEX入门实例--------transition,state的综合运用

    在IT行业中,FLEX是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。本实例主要探讨的是FLEX中`transition`和`state`的综合应用,这两个特性是FLEX界面动态效果和组件状态管理的核心。 ...

    FLEX教程-FLEX教程

    - **事件捕获和冒泡**: 两种不同的事件传播模式。 - **事件优先级**: 不同类型的事件具有不同的优先级顺序。 #### 12. Demo6:自定义事件 & 自定义组件 - **自定义事件**: 根据应用需求创建特定的事件类型。 - **...

    flex 3.0 actionscript 2.0

    1. **Flex SDK**:Flex 3.0 包含了Flex编译器和Flex框架库,开发者可以使用SDK中的MXML和ActionScript来构建用户界面。它支持CSS样式表,使得UI设计更加灵活和可定制化。 2. **MXML**:MXML是一种标记语言,类似于...

    FLEX简单的入门快速总结

    MXML可以嵌入ActionScript,反之亦然,这使得两种语言可以无缝集成。在Flex项目中,你可能会看到MXML文件定义视图组件,而ActionScript文件负责业务逻辑和数据处理。 此外,了解Flex组件库也是必要的。Flex提供了...

    flex/flash自定义组件(搜索栏)

    在IT行业中,Flex和Flash是Adobe开发的两种用于创建富互联网应用程序(RIA)的技术。本文主要探讨如何在Flex中自定义组件,特别是针对一个搜索栏的实现。在提供的压缩包中,我们有`searchField.fla`、`searchField....

    Flex 自定义时间控件 功能很全

    MXML是一种声明式语言,常用于Flex中构建用户界面,通过组合ActionScript类来创建组件。`UC_DateField` 可能是基础的时间选择器类,而`UC_DateField_Control` 可能是对其进行扩展或封装,增加了额外的功能和定制性。...

    Flex开发实例--学习必备

    - 在ActionScript中添加注释有两种方式:单行注释 `// 注释` 和多行注释 `/* 注释 */`。 - MXML文件的基本结构包含 `&lt;?xml version="1.0" encoding="utf-8"?&gt;` 声明,以及 `&lt;mx:Application&gt;` 标签。 #### 3. ...

    Flex 3 Cookbook[中文版].pdf

    - **Flex 的组成**:一个典型的 Flex 应用程序由两部分组成——ActionScript 和 MXML。从 Flex 3 开始,ActionScript 成为了一个完全面向对象且类型安全的语言,并遵循 ECMAScript 标准。 - **MXML**:这是一种标记...

    Flex ActionScript 3.0交互式开发详解源码(四)

    每个组件都有其特定的属性、样式和事件,可以通过ActionScript或MXML进行自定义。 六、数据服务与远程通信 Flex应用程序可以与各种数据服务通信,如AMF(Action Message Format)和Web服务(SOAP、RESTful)。通过...

    Flex开发的代边框Box以及自定义代checkBox的容器

    在本话题中,我们主要探讨的是如何在Flex中创建一个带有边框的Box容器以及自定义的CheckBox组件,这两种元素在Flex应用中是非常常见的。 首先,让我们来理解边框Box(BorderContainer)在Flex中的作用。...

    flex 端实现分页的两种方法

    本篇文章将深入探讨如何在Flex端实现分页功能,主要介绍两种方法:使用Flex自带的PagingControl组件和自定义分页组件。 首先,我们来了解第一种方法——使用Flex内置的PagingControl组件。PagingControl是Flex提供...

Global site tag (gtag.js) - Google Analytics