zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    sql-server数据库中利用触发器实现表与表之间的级联删除
    求任意长度数组的最大值(整数类型)。利用params参数实现任意长度的改变。
    params参数的调用
    C# 参考之方法参数关键字:params、ref及out
    写一个方法求数组中的最大值,最小值,总和以及平均值。
    写一个方法来解析一元二次方程。
    创建一个方法来判断是否为闰年。。
    构造方法
    总结重写和重载区别
    DelegatingActionProxy
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152633.html
Copyright © 2011-2022 走看看