!!!flex问题,急求答案

jiayi_it 2010-04-16 07:12:02
我现在有一个flex页面,里面有一个按钮,一张图片,一个label,我现在就是要当我点击按钮时会改变label的值(假设开始时false),当label的值改变时同时会换一张图片;但是要强调的是:不是在点击按钮时直接换图片,而是要通过label的值改变换图片,怎么做呢?不能直接由change2()方法直接调用showIma()方法哦,label是没有change()事件的,非常感谢各位大侠指点(请详细代码说明,给高分!)。
代码:
<mx:Canvas>
<mx:Button id="sub" x="559" y="26" label="显示" click="change2();"/>
<mx:Image id="img" source="" x="144" y="22" width="250" height="20"/>
<mx:Label id="lab" x="426" y="24" text="false"/>
</mx:Canvas>
<mx:Script>
private function change2():void{
var sub1:String=sub.label;
if(sub1=="显示"){
lab.text="true";
sub.label="不显示";

}else{
lab.text="false";
sub.label="显示";

}
}
private function showIma():void{
if(lab.text=="ture"){
img.source="images/status/input.gif";
}else{
img.source="images/status/input2.gif";
}
}
</mx:Script>
...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小宣 2010-04-17
  • 打赏
  • 举报
回复
<mx:Binding source="(lab.text == 'false') ? 'images/status/input.gif' : 'images/status/input2.gif'" destination="img.source" />
试试看。
jiayi_it 2010-04-16
  • 打赏
  • 举报
回复
你不一定要在我的代码上修改的,可以重新写啊
jiayi_it 2010-04-16
  • 打赏
  • 举报
回复
可是你还是在change2()方法里调用了showIma()方法啊,我的意思是说,当按钮被点击后会修改label的值,然后当值被修改时会触发图片改变,而不是直接在change2()方法里直接调用,我这里的意思也差不多是一个监听器的意思吧,我尝试了一下bindable,但是没弄好,谢谢你再想想?
switch520 2010-04-16
  • 打赏
  • 举报
回复
private function showIma(a:Object):void{
if(lab.text=="true"){
img.source="10.png";
}else{
img.source="11.png";
}
}

里面用Object类型,刚才弄错了·
switch520 2010-04-16
  • 打赏
  • 举报
回复
你去试下吧!我也不知道方法对不对,反正也可以,呵呵··我也是才学Flex一个星期
switch520 2010-04-16
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>

<fx:Script>
<![CDATA[
[Bandable]
public var i:Image;

private function change2():void{
var sub1:String=sub.label;
if(sub1=="显示"){
lab.text="true";
sub.label="不显示";


}else{
lab.text="false";
sub.label="显示";

}

showIma(lab.text);
}
private function showIma(a:Boolean):void{
if(lab.text=="true"){
img.source="10.png";
}else{
img.source="11.png";
}
}

]]>
</fx:Script>

<mx:Canvas>
<mx:Button id="sub" x="559" y="26" label="显示" click="change2();"/>
<mx:Image id="img" source="" x="144" y="22" width="250" height="20"/>
<mx:Label id="lab" x="426" y="24" text="false"/>
</mx:Canvas>



</s:Application>

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧