LoginFormEvent.as

 

package com
{
 import flash.events.Event;

 public class LoginFormEvent extends Event
 {
  public var name:String="";
  public var pwd:String="";
  public function LoginFormEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
  {
   super(type, bubbles, cancelable);
  }
  
 }
}

LoginForm.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="420" height="298" borderColor="#1E27E7" title="Login Form">
 <mx:Metadata>
  [Event(name="loginEvent",type="com.LoginFormEvent")]
  //自定义事件,用元数据的方式
 </mx:Metadata>
 
 <mx:Script>
  <![CDATA[
  import com.LoginFormEvent;
   internal function onClick(evt:MouseEvent):void{
   var e:LoginFormEvent=new LoginFormEvent("loginEvent");
   e.name=txtName.text;
   e.pwd=txtPwd.text;
   //dispatchEvent(new LoginFormEvent("loginEvent"));
   dispatchEvent(e);
   }
   
   
  ]]>
 </mx:Script>
 <mx:Label x="75" y="70" text="user:"/>
 <mx:Label x="75" y="114" text="pwd:" alpha="1.0"/>
 <mx:TextInput x="132" y="68" id="txtName"/>
 <mx:TextInput x="132" y="112" id="txtPwd" displayAsPassword="true"/>
 <mx:Button x="227" y="156" label="Login" borderColor="#F1DCDC"
   click="onClick(event)" />
 
</mx:Panel>

EventMXML.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*"
    creationComplete="init()"
 >
 <mx:Script>
  <![CDATA[
  import mx.controls.Alert;
  import com.LoginFormEvent;
  internal function login(evt:LoginFormEvent):void{
  if((evt.name=="xiaoqiang") && (evt.pwd=="123"))
  Alert.show("您已经成功登录","提示");
  else
  Alert.show("用户名或密码有错误","提示");
  }
//  internal function init():void{
//   var e:LoginFormEvent=new LoginFormEvent("loginEvent");
//   e.name="dd";
//   e.pwd="ff";
//   //dispatchEvent(new LoginFormEvent("loginEvent"));
//   loginform.dispatchEvent(e);
//   //var e:LoginFormEvent=new LoginFormEvent("loginEvent");
//   //loginform.addEventListener("loginEvent",login);//等同于loginform里加loginEvent=login()
//   }
   
  ]]>
 </mx:Script>
 <ns1:LoginForm x="43" y="51" id="loginform"  loginEvent="login(event)" >
 </ns1:LoginForm>
 
</mx:Application>

 

posted on 2009-12-28 11:53  sweting  阅读(472)  评论(0)    收藏  举报