flex自定义事件2009-09-07 16:11在flex的开发中经常需要自定义事件,下面是我学习自定义事件时理解的一点东西,记下来,等要忘记的时候再来看看。
首先 我建立了一个自定义的事件类,他必须继承Event类,具体代码如下:
package ascode
{
import flash.events.Event;
public class MyEvent extends Event
{
public var arg:String; //这里我加了一个public变量,就是为了能让这个事件传递参数
public function MyEvent(arg:String,type:String) //type是继承Event中在构造方法中必须写的,用来标识我们的事件
{
super(type);
this.arg = arg;
}
}//这样在发生这个Event的时候我就可以通过event.arg来得到arg的值了
第二步:建立一个自定义控件,具体代码如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" creationComplete="init()">
<mx:Metadata>
[Event(name="MY_CLICK",type="ascode.MyEvent")]
</mx:Metadata>//这里利用元数据修饰符来向project全局表明现在在这个控件中多了一个MY_CLICK事件,他和click等事件时一样的调用方法,这个应该还有其他的作用,但是如果去掉这句话的时候再fb的eclipse插件中会出现错误提示,但是运行能出正确结果,具体我也不知道原因。
<mx:Script>
<![CDATA[
import ascode.MyEvent;
public function init():void{
mybut.addEventListener(MouseEvent.CLICK,mybutclick);
}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载