作者LCDbest (掉進程式的深崖)
看板Flash
標題Re: [問題] Flex3如何存取mxml裡的label??
時間Fri Jan 23 22:58:28 2009
※ 引述《cjcat2266 (CJ Cat)》之銘言:
: 一個Flex程式最外層的DisplayObjectContainer叫做root
: root是一個Sprite物件
: 你在Flex裡面所放的所有control物件都在root.application裡面
: 那個class之所以抓不到label的原因
: 是因為你直接寫label,程式會以為你是要找這個class的物件裡的label
: 帶是這個class又沒有定義label這個property,當然會出錯
: 有一個解決方式,就是在這個class定義多宣告一個變數
: 讓他成能夠得到Flex主程式的root reference
: public var r:Sprite;
: 另外把change()改成這樣
: public function change():void {
: Sprite(this.r.application).label.text = "some text";
: }
: 然後在主程式MXML裡面需要修改label的函式裡面寫
: //假如你的class叫做MyClass
: var obj:MyClass = new MyClass();
: obj.r = root;
: obj.change();
: 這樣就可以了
: 以上code沒有經過測試,可能有打錯字
: 不過理論上可行 :)
首先感謝兩位大大的協助,學了很多^^~
剛剛試了一下CJ CAT大的程式....
但還是不行耶@@|||
原理大致上了解了,但還是報出一樣的錯誤....
目前有在查說明文件了,不知大大是否可以在指點一下明路~^^~ 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.249.114
推 cjcat2266:是什麼錯誤啊 01/23 23:02
→ LCDbest:好像是編譯器的問題@@?不好意思喔大大...我先試一下>"< 01/24 10:36