`
limingnihao
  • 浏览: 1821136 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex中自定义事件

    博客分类:
  • Flex
阅读更多
第一步:定义Event类
package myAS 
{ 
import flash.events.Event; 
public class LoginEvent extends Event 
{ 
  /** 保存用户名 */ 
  public var username:String; 
  /** 保存密码 */ 
  public var password:String; 
  /** 监听器类型名 */ 
  public static var LOGIN:String = "login"; 
   
  /** 构造方法,*/ 
  public function LoginEvent(type:String, username:String, password:String) 
  { 
   super(type, bubbles, cancelable); 
   this.password = password; 
   this.username = username; 
  } 
   
  override public function clone():Event 
  { 
   return new LoginEvent(type,username,password); 
  } 
} 
} 


第二步,在mxml或AS类中,声明自己有这个事件可以被监听,并在适当时候激发事件:
在mxml中:
<mx:Metadata>
   [Event(name="login", type="myAS.LoginEvent")]
</mx:Metadata>

在AS类中,与import语句写在一起:
[Event(name="login", type="myAS.LoginEvent")]

激发事件:

  var e:LoginEvent = new LoginEvent("login", username.text,password.text);
     this.dispatchEvent(e);



第三步,在他们的主Application上,注册监听器和定义触发的方法
  public function init():void 
    { 
     myPanel.addEventListener(LoginEvent.LOGIN, loginHandler); 
    } 
   
    public function loginHandler(event:LoginEvent):void 
    { 
     Alert.show("You logined with username is " + event.username + "password:" + event.password ); 
    } 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics