加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 自定义事件

发布时间:2020-12-15 01:32:28 所属栏目:百科 来源:网络整理
导读:自定义事件只是一个“特别”的ActionScript类。开发者创建自定义事件无外乎完成如下几个任务:继承flash.events.Event、定义事件属性、编写类构造器、重载clone方法。 ? 1 :继承flash.events.Event ?? 如同Flex内置的事件,比如MouseEvent,自定义事件继承

自定义事件只是一个“特别”的ActionScript类。开发者创建自定义事件无外乎完成如下几个任务:继承flash.events.Event、定义事件属性、编写类构造器、重载clone方法。

?

1 :继承flash.events.Event

?? 如同Flex内置的事件,比如MouseEvent,自定义事件继承于flash.events.Event类。但事实上,你可以扩展其他事件类来创建自己的自定义事件。

?

?

2:定义属性

?

?

从某种程度看,事件就是系统传递的“消息”。Flash Player利用事件对象从事件目标向事件侦听器传递数据。flash.events.Event提供了“消息”所应有的基本信息,比如事件类型event.type等。然而,开发者通常希望“消息”能够携带更多的信息,提供更多的数据。在自定义事件中,通过定义属性,可以让事件携带更多的信息。

?

3:编写构造器

类当然离不开构造器。事件类的构造器要完成两项任务。

????????? 1.???? 调用Super()

??????? 通过Super()调用父类的构造器,以初始化从父类继承的属性等。通常情况下,子类构造器应该首先调用Super()方法。当然,?如果没有为子类编写构造器(不添加构造器方法),编译器会自动添加一个构造器,并且也会调用Super()。但是,我们仍然推荐编写构造器,并且显式地调用Super()方法。

?????????? 2.???? 设置属性

事件类型是最常用到的事件属性。Super()可以接受String类型的参数,由此设置父类事件中继承来的事件类型属性(event.type)。

除了事件类型外,事件的其他自定义属性可以作为构造器的参数传入,在构造器中完成初始化。更灵活的是,这些属性类型不仅仅局限??于String、Number等基本类型,还可以是任何自定义类。这样,自定义事件就成为真正的“运输大队”,可以携带复杂的数据,成为更称职的“信使”。

?

4: 重载clone方法

?

创建自定义事件的最后一步是重载父类的clone方法,返回新的Event对象。当触发事件时,即dispatchEvent(event)时,EventDispatcher会自动调用clone方法获取新的Event对象。

重载clone方法将复制自定义类的所有属性。如果你没有对自定义事件类中添加的所有属性进行赋值的话,那么当侦听器处理触发的自定义事件时,就不会获得正确的属性值。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读