愚人博客
posts - 17, comments - 4, trackbacks - 0, articles - 0
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
[原]自定义组件的属性与事件
Posted on 2007-08-28 12:07
愚人
阅读(208)
评论(0)
编辑
收藏
所属分类:
Flex2
在开发Flex程序后经常会使用到自定义组件,通过设置它的属性来初始化一些值,最经常用到的就是自定义事件与属性了,当然还有方法。对于自定义事件可以在元数据标签中加入[Event(name="Login", type="flash.events.Event")]声明一个组件的事件,既然声明了肯定就有一个能够用来触发的事件,使用
dispatchEvent(new Event("Login"))
来分发时间。对于属性直接声明一个公有的属性即可,方法也是一样。
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<
mx:Panel
xmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="absolute"
width
="275"
height
="150"
title
="untitled"
>
<!-- 使用原数据标签声明一个事件Login,类型为flash.events.Event -->
3
<
mx:Metadata
>
4
[Event(name="Login", type="flash.events.Event")]
5
</
mx:Metadata
>
6
<
mx:Script
>
7
<![CDATA[
//声明为public属性之后,就变成了组件的公有属性了
8
[Bindable]
9
public var upitem:String="";
10
[Bindable]
11
public var downitem:String="";
12
[Bindable]
13
public var eafterclk:Boolean = false ;
14
private function handleLoginEvent():void
15
{
16
txtUID.editable = eafterclk ;
17
txtPwd.editable = eafterclk ;
18
lblTest.htmlText = "<b>logging in
</b>" ;
19
//分发事件Login
20
dispatchEvent(new Event("Login"));
21
}
22
]]>
23
</
mx:Script
>
24
<
mx:Model
id
="login"
>
25
<
user
>
26
<
name
>
{txtUID.text}
</
name
>
27
<
password
>
{txtPwd.text}
</
password
>
28
</
user
>
29
</
mx:Model
>
30
<
mx:Label
x
="10"
y
="12"
text
="{upitem}"
/>
31
<
mx:Label
x
="10"
y
="42"
text
="{downitem}"
/>
32
<
mx:TextInput
x
="74"
y
="10"
id
="txtUID"
/>
33
<
mx:TextInput
x
="74"
y
="40"
id
="txtPwd"
displayAsPassword
="true"
/>
34
<
mx:Button
x
="178"
y
="70"
label
="Login"
click
="handleLoginEvent()"
/>
35
<
mx:Label
x
="74"
y
="72"
id
="lblTest"
/>
36
</
mx:Panel
>
1
<?
xml version="1.0" encoding="utf-8"
?>
2
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="absolute"
backgroundGradientColors
="[#804000, #ffffff]"
xmlns:ns1
="*"
>
3
<
mx:states
>
4
<
mx:State
name
="t"
>
5
<
mx:RemoveChild
target
="{user}"
/>
6
<
mx:AddChild
position
="lastChild"
>
7
<
mx:ProgressBar
maximum
="100"
minimum
="0"
enabled
="true"
labelPlacement
="center"
horizontalCenter
="0"
verticalCenter
="0"
/>
8
</
mx:AddChild
>
9
<
mx:AddChild
position
="lastChild"
>
10
<
mx:HBox
width
="195"
right
="2"
top
="2"
>
11
<
mx:Image
right
="84"
top
="10"
source
="file:///D|/www/images/icon_acct_active.gif"
/>
12
<
mx:Label
text
="Welcome,{user.login.name}"
color
="#ffffff"
right
="22"
top
="10"
/>
13
</
mx:HBox
>
14
</
mx:AddChild
>
15
</
mx:State
>
16
</
mx:states
>
17
<
mx:Script
>
18
<![CDATA[
19
import mx.controls.Alert ;
20
public function login():void{
21
if( user.login.name == "Fisher" )
22
{
23
//Alert.show("User:"+user.login.name+"\n\nPass:******","Login
");
24
this.currentState = "t";
25
}
26
}
27
]]>
28
</
mx:Script
>
29
<
ns1:LoginBox
title
="LOGIN"
upitem
="Username"
eafterclk
="true"
downitem
="Password"
id
="user"
y
="181"
horizontalCenter
="0"
Login
="login()"
>
30
</
ns1:LoginBox
>
31
32
</
mx:Application
>
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
[原]Flex上传组件
[转]Flex 中的弹出窗口
[原]自定义组件的属性与事件
[转]Flex的事件流
Powered by:
BlogJava
Copyright © 愚人
日历
<
2007年8月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
Ajax/Javascript(1)
Flex2(4)
Java(1)
Life(1)
MySQL(1)
PHP(3)
Xhtml/css(6)
随笔档案
2007年11月 (1)
2007年10月 (5)
2007年9月 (4)
2007年8月 (7)
搜索
最新评论
1. re: HTML 中 SELECT 选项分组
发放四大
--是否
2. re: [转]IP转换整形(ip2long) [未登录]
aa
--a
3. re: [转]IP转换整形(ip2long) ef[未登录]
a
--a
4. re: CSS的expression
评论内容较长,点击标题查看
--yes188
阅读排行榜
1. [转]Flex 中的弹出窗口(7538)
2. HTML 中 SELECT 选项分组(6992)
3. [转]IP转换整形(ip2long) (4806)
4. [原]开启PHP的SSL支持(1800)
5. 制作1px表格边框的十种方法(1390)
评论排行榜
1. [转]IP转换整形(ip2long) (2)
2. HTML 中 SELECT 选项分组(1)
3. CSS的expression(1)
4. 制作1px表格边框的十种方法(0)
5. [转]需要了解的CSS优先级特性(0)