作者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
推 cloudfly:ㄏ..書面上出了蠻多flex的書..可以多加參考.大家互相交流 01/25 00:40
推 cloudfly:不過你的mxml裡的go()函數應該是多餘的..button的click 01/25 00:42
→ cloudfly:其實是觸發到classTest裡的go().. 01/25 00:44
推 cloudfly:上面看錯了..應該說這樣感覺是多繞了一圈.. 01/25 00:50
→ LCDbest:這樣的確繞了一圈@@||...感謝大大的指教~^^~ 01/25 10:58