Flexでのカスタムイベント
ステップ1:Eventクラスの定義
第2のステップでは、mxmlまたはASクラスで、このイベントをリスニングし、適切なタイミングでイベントを励起できることを宣言します.
mxmlで:
[Event(name="login", type="myAS.LoginEvent")]
ASクラスでは、import文と一緒に書きます.
[Event(name="login", type="myAS.LoginEvent")]
励起イベント:
var e:LoginEvent = new LoginEvent("login", username.text,password.text);
this.dispatchEvent(e);
ステップ3では、プライマリアプリケーションにリスナーを登録し、トリガのメソッドを定義します.
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);
}
}
}
第2のステップでは、mxmlまたはASクラスで、このイベントをリスニングし、適切なタイミングでイベントを励起できることを宣言します.
mxmlで:
[Event(name="login", type="myAS.LoginEvent")]
ASクラスでは、import文と一緒に書きます.
[Event(name="login", type="myAS.LoginEvent")]
励起イベント:
var e:LoginEvent = new LoginEvent("login", username.text,password.text);
this.dispatchEvent(e);
ステップ3では、プライマリアプリケーションにリスナーを登録し、トリガのメソッドを定義します.
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 );
}