看板 Flash 關於我們 聯絡資訊
一個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沒有經過測試,可能有打錯字 不過理論上可行 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.89.45