首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex中给动态生成的按根据配置动态添加图标的有关问题

2012-12-16 
flex中给动态生成的按根据配置动态添加图标的问题从数据库中取得配置,生成按钮,并要给每个按钮添加图标,可

flex中给动态生成的按根据配置动态添加图标的问题
从数据库中取得配置,生成按钮,并要给每个按钮添加图标,可是试了好多次都不成功,不知道问题出在哪里?一下是按钮生成的代码,望高手出手相助。
if(appList.length>0){
for(var i:int=0;i<appList.length;i++){
        var bt:Button = new Button();
bt.invalidateDisplayList();
bt.label = appList.getItemAt(i).f_app_name;
bt.id = appList.getItemAt(i).f_src;
bt.name = appList.getItemAt(i).f_id;
bt.setStyle("icon",IconUtility.getClass(bt,"assets/"+appList.getItemAt(i).f_icon));
bt.addEventListener(MouseEvent.CLICK,btClick);
vg.addElement(bt);
        }
}

补充说明:按钮能正常生成,就是图标不出现。
          IconUtility.getClass(bt,"assets/"+appList.getItemAt(i).f_icon)方法是从网上找来的,在静态Button中能添加图标。

不知道大家有什么好的办法解决动态图标的问题,说出来参考一下。
[最优解释]

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 creationComplete="addButton()">
<mx:Script>
<![CDATA[
import mx.controls.Button;
import com.benstucki.utilities.IconUtility;
 
private function addButton():void{
for(var i=0;i<3;i++){
var bt:Button = new Button();
bt.label = "bt"+i;
bt.x = 120*i;
bt.y = 0;
bt.id = "bt"+i;
bt.setStyle("icon",IconUtility.getClass(bt,"images/jiaozi.jpg",100,100));
this.addChild(bt);
}
}
]]>
</mx:Script>
</mx:Application>

刚写了个代码,试验了下,没问题。
首先:IconUtility.swc包确定导入进去了,你应该导入了,不然报错的。
如果你的按钮能正常生成,就是图标不出现,检查下图片路径是否争取...
[其他解释]
多谢楼上的回答,你写的代码我也试过,图标是能出现的。
也不知道我的主程序里面是什么原因图标不出现,地址绝对没有问题的。

[其他解释]
问题解决了,
import mx.controls.Button; 和 import spark.components.Button不一样,
改成import mx.controls.Button;这个就好了...


[其他解释]
换成import mx.controls.Button有些功能就出问题了,看来是IconUtility这个类不能很好的兼容flex4和4.5的问题,有没有高手重写一下,能使得兼容之?
[其他解释]
我也出现相同的问题,求高手指点。。

热点排行