LoginFormEvent.as 自定义事件
package com.events
{
import flash.events.Event;
public class LoginFormEvent extends Event
{
public var loginName:String = "";
public var loginPassword:String = "";
public function LoginFormEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
}
}
1 使用源元素的方式给整个表单加一个事件:
<mx:Metadata>
[Event(name = "loginEvent",type = "com.events.LoginFormEvent")]
</mx:Metadata>
2 给button注册onClick事件
<mx:Button x="132" y="139" label="登录" fontSize="12" width="103" click="onClick(event)"/>
3 发出事件
internal function onClick(evt:MouseEvent):void{
var ev:LoginFormEvent = new LoginFormEvent("loginEvent");
ev.loginName = login_name.text;
ev.loginPassword = login_password.text;
dispatchEvent(ev);
4 给应用程序注册LoginFormEvent事件,事件响应函数为login
<ns1:loginPanel id="loginForm" loginEvent="login(event)" horizontalAlign="center" verticalAlign="middle">
</ns1:loginPanel>
5 书写login函数,完成登录验证
internal function login(evt:LoginFormEvent):void{
if((evt.loginName=="test") && (evt.loginPassword=="123")){
Alert.show("登录成功","提示");
}
else Alert.show("登录失败","提示");
}
自定义的Panel组件:即表单
loginPanel.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="244" borderColor="#10CAE0" title="用户登录" fontSize="12">
<mx:Metadata>
[Event(name = "loginEvent",type = "com.events.LoginFormEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
import com.events.LoginFormEvent;
internal function onClick(evt:MouseEvent):void{
var ev:LoginFormEvent = new LoginFormEvent("loginEvent");
ev.loginName = login_name.text;
ev.loginPassword = login_password.text;
dispatchEvent(ev);
}
]]>
</mx:Script>
<mx:Label x="71" y="34" text="用户名:" fontSize="12"/>
<mx:Label x="71" y="90" text="密码:" fontSize="12"/>
<mx:TextInput x="132" y="34" id="login_name"/>
<mx:TextInput x="132" y="90" id="login_password" displayAsPassword="true"/>
<mx:Button x="132" y="139" label="登录" fontSize="12" width="103" click="onClick(event)"/>
</mx:Panel>
主页面:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:ns1="*" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import com.events.LoginFormEvent;
internal function login(evt:LoginFormEvent):void{
if((evt.loginName=="test") && (evt.loginPassword=="123")){
Alert.show("登录成功","提示");
}
else Alert.show("登录失败","提示");
}
]]>
</mx:Script>
<ns1:loginPanel id="loginForm" loginEvent="login(event)" horizontalAlign="center" verticalAlign="middle">
</ns1:loginPanel>
</mx:Application>
posted on 2010-03-03 21:35
Ying-er 阅读(634)
评论(0) 编辑 收藏 所属分类:
Flex3.0