最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flex addChild()方法注意事項

 更新時間:2009年08月03日 23:36:22   作者:  
在Flex Application里,是不能直接用addChild添加Sprite,MovieClip等來自flash.display包里的類的。
譬如以下代碼就會報錯:
private function init():void { var sp:Sprite = new Sprite(); addChild(sp);}
復(fù)制代碼 代碼如下:

TypeError: Error #1034: 強制轉(zhuǎn)換類型失敗:無法將 flash.display::Sprite@156b7b1 轉(zhuǎn)換為 mx.core.IUIComponent。

這是因為Application的addChild方法并非完全繼承自DisplayObjectContainer,
Application→LayoutContainer→Container →UIComponent→FlexSprite→Sprite
→DisplayObjectContainer
而是在Container那里被重寫了:
復(fù)制代碼 代碼如下:

public override function addChild(child:DisplayObject):DisplayObject
雖然參數(shù)child的類型是DisplayObject,但是它必須實現(xiàn)IUIComponent接口(所有Flex組件都實現(xiàn)了這一接口),才能添加。
如果要在Application里添加Sprite,可以先把它裝進一個UIComponent,然后再添加這個UIComponent:
官方的說法:
* <p><b>Note: </b>While the <code>child</code> argument to the method
* is specified as of type DisplayObject, the argument must implement
* the IUIComponent interface to be added as a child of a container.
* All Flex components implement this interface.</p>
例子:
復(fù)制代碼 代碼如下:

import mx.core.UIComponent;private function init():void {
var sp:Sprite = new Sprite();
var uc:UIComponent = new UIComponent();
uc.addChild(sp); addChild(uc);
}

相關(guān)文章

最新評論

乐至县| 高雄市| 泗洪县| 都昌县| 崇州市| 天长市| 丰都县| 巩义市| 从化市| 宣汉县| 大洼县| 通化县| 武山县| 漾濞| 阿克陶县| 河源市| 横峰县| 顺义区| 嘉黎县| 夏邑县| 黄龙县| 全南县| 浪卡子县| 宜阳县| 军事| 乌兰浩特市| 剑河县| 溧水县| 孝感市| 商丘市| 黄陵县| 和田市| 麻阳| 屏东市| 洪泽县| 宁安市| 隆化县| 汪清县| 阜新市| 泾源县| 江孜县|