zoukankan      html  css  js  c++  java
  • Flex中自定义事件


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


     
    其实自定义事件的现实也很简单,但起着非常重要的作用;正是因为有了事件的机制,使得大部分重复的功能抽取到自定义控件中,从而达到一个很高的代码重用性。
    本文来源于: 杜增强.COM http://www.duzengqiang.com/blog/ , 原文地址:http://www.duzengqiang.com/blog/post/321.html


     

  • 相关阅读:
    一步一步自定义SpringMVC参数解析器
    Git客户端TortoiseGit(Windows系统)的使用方法
    Tiles入门和Tiles 框架和体系结构
    SpringMVC整合Tiles框架
    JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题
    spring mvc接收JSON格式的参数
    Spring MVC Controller与jquery ajax请求处理json
    扩展SpringMVC以支持绑定JSON格式的请求参数
    SpringMVC从Control中响应json数据
    JSONP 教程
  • 原文地址:https://www.cnblogs.com/chocolate/p/1431892.html
Copyright © 2011-2022 走看看