基于松耦合的概念 自定义事件类型将取到很重要的作用
?
当您创建自己的自定义 Event 类时,必须覆盖继承的?Event.clone()
?方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新分派的事件时,这些属性将不会有正确的值。
自定义事件类 继承flash.events.Event类?下面看代码 其中 message 是自定义的属性,下面要使用这个属性 来传递参数
- package?com.demo.event??
- {??
- ????import?flash.events.Event;??
- ??????
- public?class?TestEvent?extends?Event??
- ????{??
- ????????static?const?EVENT_CLICK:String?=?"copy_text";??
- ??????????
- public?var?message:String;??
- public?function?TestEvent(type:String,?message:String)??
- ????????{??
- ????????????super(type);??
- ????????????this.message?=?message;??
- ????????}??
- ????????override?public?function?clone():Event{????
- ??????????????
- return?new?TestEvent(type,message);????
- ????????}????
- ????}??
- }??
接下来建立一个控件 来指派这个事件
注册事件 CopyText
<fx:Metadata>
??[Event(name="CopyText",type="com.demo.event.TestEvent")]
?</fx:Metadata>
指派事件
protected function button1_clickHandler(event:MouseEvent):void
???{
????dispatchEvent(new TestEvent("CopyText",tempText.text));
???}