有才华的人,别忘记给滋润你的那块土壤施肥
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
28 随笔 :: 5 文章 :: 147 评论 :: 0 Trackbacks
<
2009年8月
>
日
一
二
三
四
五
六
26
27
28
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
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(15)
给我留言
查看公开留言
查看私人留言
我参与的团队
深圳Java俱乐部(0/0)
随笔分类
Flex(7)
(rss)
It's not about me
(rss)
java基础(2)
(rss)
js&css(3)
(rss)
swing(13)
(rss)
数据库(2)
(rss)
转贴(3)
(rss)
随笔档案
2011年3月 (1)
2011年1月 (1)
2010年1月 (1)
2009年11月 (2)
2009年8月 (5)
2009年7月 (1)
2009年6月 (1)
2009年4月 (1)
2009年3月 (1)
2009年2月 (1)
2008年12月 (2)
2008年11月 (1)
2008年9月 (1)
2008年8月 (1)
2008年7月 (2)
2008年5月 (1)
2008年4月 (5)
2008年3月 (5)
文章分类
Swing
(rss)
web
(rss)
记得常去逛逛
desktop form
developerWorks 中国
infoq
javadesktop
javalobby
javase
sun中国
搜索
最新评论
1. re: 固定JTable中的前几列
评论内容较长,点击标题查看
--founder
2. re: 固定JTable中的前几列
行数很多时(如2W行,30列),paintComponent会导致内存溢出
--founder
3. re: mysql存储过程学习及java调用存储过程[未登录]
不错,学习了
--linkin
4. re: 【三八节】 女程序员的求友说明书 [未登录]
haha
--zxx
5. re: mysql存储过程学习及java调用存储过程[未登录]
是个入门的好例子,我顺利的跑通了,只有菜鸟才会骂
--小鱼
阅读排行榜
1. mysql存储过程学习及java调用存储过程(32235)
2. 用Flex调用SWF查看PDF(12522)
3. Flex事件讲解【转】(12407)
4. java实现系统托盘(5632)
5. DataGrid透明显示背景图片,及表头透明(4535)
评论排行榜
1. 用Flex调用SWF查看PDF(50)
2. mysql存储过程学习及java调用存储过程(30)
3. java实现系统托盘(15)
4. 【三八节】 女程序员的求友说明书 (7)
5. Flex Hack 02:DataGrid列尾,用于数据汇总(6)
Flex Hack 01:labelFunction的使用
写过Swing的人都知道,如果使用List的组件或包含List组件如JComboBox,他们的item需要显示几个字段的时候,需要做额外的动作,比如
在List需要显示的对象添加一个toString方法便能组合显示出想要的效果,但是有时候一个POJO或VO又不允许你添加这么一个方法。这个时候就需要在Renderer中利用反射的机制能解决所需要的方法。
但是在Flex中就能很方便的解决这样的问题,对于显示一个字段,只需要指定对应字段属性给labelField即可,当需要上述所需要的功能的时候就得做个转换了,在Flex的基于List的组件都有一个labelFunction方法能很简单指定所需要显示的内容。
如有这么一个例子,有一个对象他包含一个name和age,现在需要一个ComboBox显示为:“name,age”,下面看例子代码:
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
<
mx:Application xmlns:mx
=
"
http://www.adobe.com/2006/mxml
"
layout
=
"
absolute
"
creationComplete
=
"
init()
"
backgroundColor
=
"
white
"
>
<
mx:Script
>
<!
[CDATA[
[Bindable]
private
var
cbxDataProvider:Array;
private
function
init():
void
{
cbxDataProvider
=
[
{name:
"
kissjava
"
, age:
"
100
"
}
,
{name:
"
rocky
"
, age:
"
88
"
}
,
{name:
"
jiang
"
, age:
"
99
"
}
];
}
private
function
cbxDisplayFunction(data:Object):String
{
var
label:String
=
""
;
if
(data.hasOwnProperty(
"
name
"
))
{
label
+=
data.name
+
"
,
"
;
}
if
(data.hasOwnProperty(
"
age
"
))
{
label
+=
data.age;
}
return
label;
}
]]
>
</
mx:Script
>
<
mx:Text id
=
"
text
"
x
=
"
30
"
y
=
"
30
"
text
=
"
这是labelFunction的测试例子
"
/>
<
mx:ComboBox id
=
"
cbx
"
labelFunction
=
"
cbxDisplayFunction
"
dataProvider
=
"
{cbxDataProvider}
"
x
=
"
30
"
y
=
"
60
"
/>
</
mx:Application
>
测试结果图为:
这个labelFunction方法也可用于DataGrid中,如果有时候需要国际化之类的需求的时候,labelFunction也还是能派上用处的。
posted on 2009-08-16 10:32
kissjava
阅读(1678)
评论(1)
编辑
收藏
所属分类:
Flex
评论
#
re: Flex Hack 01:labelFunction的使用
2009-08-16 11:04
凡客诚品
不错哦
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
Flex Hack 02:DataGrid列尾,用于数据汇总
Flex Hack 01:labelFunction的使用
actionscript之滤镜
DataGrid透明显示背景图片,及表头透明
【转】Flex中元数据标签
用Flex调用SWF查看PDF
Flex事件讲解【转】
Powered by:
BlogJava
Copyright © kissjava