开发工具:
FLEX BUILDER3 PRO
语言:
AS 3.0
操作系统:
Windows XP SP2
1.
在
flex3
里新建一个
AS
工程取名为
login2
2.
导入所需要的包(如果无法使用fl包,请参照我的前一篇文章:flex3 里如何导入FLASH CS3的包)
import
fl.controls.Button;
import
fl.controls.Label;
import
fl.controls.TextInput;
import
flash.display.Sprite;
import
flash.events.MouseEvent;
3.
定义变量(将来在舞台上出现的对象)
//
用户名标签和输入框
private
var
username_label:Label;
private
var
username_txt:TextInput;
//
密码标签和输入框
private
var
pwd_label:Label;
private
var
pwd_txt:TextInput;
//
登录按钮
private
var
login_btn:Button;
//
提示消息
private
var
showmsg_label:Label;
4.
定义函数让以上的对象并添加到在舞台上
//
定义用户名标签函数
private
function
setusernamelabel():
void
{
username_label =
new
Label();
username_label.text =
"UserName"
;
username_label.move(10,10);
this
.addChild(username_label);
}
private
function
setusernametxt():
void
{
username_txt =
new
TextInput();
username_txt.move(90,10);
this
.addChild(username_txt);
}
//
定义密码标签函数
private
function
setpwdlabel():
void
{
pwd_label =
new
Label();
pwd_label.text =
"PassWord"
;
pwd_label.move(10,40);
this
.addChild(pwd_label);
}
private
function
setpwdtxt():
void
{
pwd_txt =
new
TextInput();
pwd_txt.displayAsPassword =
true
;
pwd_txt.move(90,40);
this
.addChild(pwd_txt);
}
//
初始化状态信息标签
private
function
setshowmsg():
void
{
showmsg_label =
new
Label();
showmsg_label.move(90,100);
showmsg_label.text =
""
;
this
.addChild(showmsg_label);
}
//
定义
login
按钮函数
private
function
setButton():
void
{
login_btn =
new
Button();
login_btn.label =
"Login"
;
login_btn.move(90,70);
login_btn.addEventListener(MouseEvent.CLICK,login_click);
this
.addChild(login_btn);
}
5.
定义事件函数,这里定义的是鼠标事件
private
function
login_click(e:MouseEvent):
void
{
if
(username_txt.text !=
"admin"
|| pwd_txt.text !=
"admin"
)
{
showmsg_label.text =
"UserName or Password is Error!"
;
disableText();
}
else
{
showmsg_label.text =
"Login Success!"
;
}
}
6.
在构造函数里初始化这些函数,否则舞台上是不会显示任何东西的,注意在这个函数过程中任何对象的引用都要先初始化,否则会提示无法引用空对象!
private
function
setshowmsg():
void
{
showmsg_label =
new
Label();
showmsg_label.move(90,100);
showmsg_label.text =
""
;
this
.addChild(showmsg_label);
}
7.
测试。
8.
完整代码:
package
{
import
fl.controls.Button;
import
fl.controls.Label;
import
fl.controls.TextInput;
import
flash.display.Sprite;
import
flash.events.MouseEvent;
public
class
login2
extends
Sprite
{
//
用户名标签和输入框
private
var
username_label:Label;
private
var
username_txt:TextInput;
//
密码标签和输入框
private
var
pwd_label:Label;
private
var
pwd_txt:TextInput;
//
登录按钮
private
var
login_btn:Button;
//
提示消息
private
var
showmsg_label:Label;
public
function
login2()
{
setusernamelabel();
setusernametxt();
setpwdlabel();
setpwdtxt();
setButton();
setshowmsg();
}
//
定义用户名标签函数
private
function
setusernamelabel():
void
{
username_label =
new
Label();
username_label.text =
"UserName"
;
username_label.move(10,10);
this
.addChild(username_label);
}
private
function
setusernametxt():
void
{
username_txt =
new
TextInput();
username_txt.move(90,10);
this
.addChild(username_txt);
}
//
定义密码标签函数
private
function
setpwdlabel():
void
{
pwd_label =
new
Label();
pwd_label.text =
"PassWord"
;
pwd_label.move(10,40);
this
.addChild(pwd_label);
}
private
function
setpwdtxt():
void
{
pwd_txt =
new
TextInput();
pwd_txt.displayAsPassword =
true
;
pwd_txt.move(90,40);
this
.addChild(pwd_txt);
}
//
初始化状态信息标签
private
function
setshowmsg():
void
{
showmsg_label =
new
Label();
showmsg_label.move(90,100);
showmsg_label.text =
""
;
this
.addChild(showmsg_label);
}
//
定义
login
按钮函数
private
function
setButton():
void
{
login_btn =
new
Button();
login_btn.label =
"Login"
;
login_btn.move(90,70);
login_btn.addEventListener(MouseEvent.CLICK,login_click);
this
.addChild(login_btn);
}
private
function
login_click(e:MouseEvent):
void
{
if
(username_txt.text !=
"admin"
|| pwd_txt.text !=
"admin"
)
{
showmsg_label.text =
"UserName or Password is Error!"
;
disableText();
}
else
{
showmsg_label.text =
"Login Success!"
;
}
}
private
function
disableText():
void
{
username_txt.enabled =
false
;
pwd_txt.enabled =
false
;
}
}
}