下面是一個flex簡單實例
開發工具:flex buider3
主要知識點:事件請求轉發,其它相關信息有注釋
首先在src下新建一個組件,命名為loginForm.mxml,在這個組件里,有兩個標簽,兩個文件域,和一個按鈕,相關代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="226" borderColor="#88F0DE" title="用戶登陸" fontSize="14">
<mx:Metadata>
//使用系統事件進行提交
//[Event(name="loginEvent",type="flash.events.Event")]
//使用自定義事件,在org.loginForm.LoginFormEvent里
[Event(name="loginEvent",type="org.loginForm.LoginFormEvent")]
</mx:Metadata>
<mx:Script>
<
internal function onClick(evt:MouseEvent):void
{
//系統事件進行請求轉發
//this.dispatchEvent(new Event("loginEvent"));
//自定義事件請求轉發
var lf:LoginFormEvent = new LoginFormEvent("loginEvent");
//把得到的用戶名,密碼傳到事件里
lf.username = userName.text;
lf.password = password.text;
this.dispatchEvent(lf);
}
]]>
</mx:Script>
<mx:Label x="48" y="38" text="用戶名:" width="70" height="26" fontSize="15"/>
<mx:Label x="48" y="92" text="密 碼:" width="70" height="25" fontSize="15"/>
<mx:TextInput x="126" y="36" id="userName"/>
<mx:TextInput x="126" y="90" id="password" displayAsPassword="true"/>
<mx:Button x="228" y="142" label="登陸" fontSize="15" id="login" click="onClick(event)"/>
</mx:Panel>

下面是處理表單的actionscript代碼:包為org.LoginForm ,名為LoginFormEvent,該類需繼承Event
package org.loginForm


{
import flash.events.Event;

public class LoginFormEvent extends Event

{
public var username:String = "";
public var password:String = "";
public function LoginFormEvent(type:String)

{
super(type, false, false);
}
}
}
事件測試類,把loginForm.mxml添加到,名為event2.mxml mxml application文件里
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">
<mx:Script>
<
internal function login(evt:LoginFormEvent):void
{

if(evt.username == "gao" && evt.password == "qin")
{
Alert.show("你登陸成功","提示");

}else
{
Alert.show("你登陸失敗");
}
}

public function init():void
{
fLogin.addEventListener("loginEvent",login);
}
]]>
</mx:Script>
<ns1:loginForm x="34" y="90" id="fLogin" loginEvent="login(event)">
</ns1:loginForm>
</mx:Application>

介面如下: