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

Flex中自定义事件

发布时间:2020-12-15 04:14:41 所属栏目:百科 来源:网络整理
导读:? 事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性;Flex也不例外几乎所有控件中都集成了大量的事件,如果Button的Click事件等。但实际应用中控件自有的事件是不能满真实需要的,特别在自己编写自



? 事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性;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>

?

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

?

http://www.nbao.net/

http://smark.codeplex.com/

(编辑:李大同)

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

    推荐文章
      热点阅读