作者LCDbest (掉进程式的深崖)
看板Flash
标题Re: [问题] Flex3如何存取mxml里的label??
时间Sat Jan 24 16:27:22 2009
刚刚测试了一下,物件可以直接存取Application
(之前试不行...重装Flex就ok了@@||)
而Sprite试不出来....
依然读不到label1这个物件....
目前小弟采用的是这个方法:
Mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import Test.classTest;
public function ok():void{
var test:Test.classTest = new classTest();
test.go();
}
]]>
</mx:Script>
<mx:Button x="10" y="10" label="Button" click="ok()"/>
<mx:Label x="83" y="12" text="Label" id="label1"/>
</mx:Application>
classTest物件:
package Test
{
import flash.display.Sprite;
import mx.core.Application;
public class classTest
{
public function classTest()
{}
public function go():void{
Application.application.label1.text = "OK!!";
}
}
}
所以....classTest直接用"Application.application.label1.text = "OK!!" "
就可以控制label1了....
(AIR版本还没测试....AIR好像又不一样..)
如果将label1传到classTest里,然後classTest用一个label1接也是可以....
但是如果将classTest设一个变数Application来接mxml的Application,就不行....
其实这Flex和AS3小弟我还满初学的,所以可能有很多观念错误,书看的不够多阿QQ
但不管如何还是很感谢两位大大的帮助~谢谢~^^~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.249.114
1F:推 cloudfly:ㄏ..书面上出了蛮多flex的书..可以多加参考.大家互相交流 01/25 00:40
2F:推 cloudfly:不过你的mxml里的go()函数应该是多余的..button的click 01/25 00:42
3F:→ cloudfly:其实是触发到classTest里的go().. 01/25 00:44
4F:推 cloudfly:上面看错了..应该说这样感觉是多绕了一圈.. 01/25 00:50
5F:→ LCDbest:这样的确绕了一圈@@||...感谢大大的指教~^^~ 01/25 10:58