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

Flex addChild()方法注意事項(xiàng)

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

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

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

public override function addChild(child:DisplayObject):DisplayObject
雖然參數(shù)child的類型是DisplayObject,但是它必須實(shí)現(xiàn)IUIComponent接口(所有Flex組件都實(shí)現(xiàn)了這一接口),才能添加。
如果要在Application里添加Sprite,可以先把它裝進(jìn)一個(gè)UIComponent,然后再添加這個(gè)UIComponent:
官方的說(shuō)法:
* <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)文章

最新評(píng)論

延边| 乐至县| 新晃| 望江县| 太保市| 桦川县| 崇州市| 绥德县| 调兵山市| 晋江市| 泾阳县| 尚志市| 枣阳市| 万盛区| 华宁县| 正宁县| 手游| 浑源县| 沙田区| 南投市| 尖扎县| 家居| 双江| 富蕴县| 县级市| 岳阳市| 青浦区| 宿州市| 龙岩市| 横峰县| 许昌市| 嘉荫县| 甘谷县| 小金县| 松阳县| 瑞金市| 准格尔旗| 井研县| 汉沽区| 太康县| 华阴市|