专家提醒 FlexaddChild()方法注意事项

开发 后端
你对FlexaddChild()方法的使用是否了解,这里和大家分享一下FlexaddChild()方法应该能注意的一些事项,希望对你有用。

在学习Flex的使用时,你可能会遇到FlexaddChild()方法的使用,这里向大家描述一下在使用FlexaddChild()方法时应该注意的一些问题。

FlexaddChild()方法注意事项

在FlexApplication里,是不能直接用FlexaddChild添加Sprite,MovieClip等来自flash.display包里的类的。

譬如以下代码就会报错: 

  1. privatefunctioninit():void{varsp:Sprite=newSprite();addChild(sp);} 

代码如下:

  1. TypeError:Error#1034:强制转换类型失败:无法将flash.display::Sprite@156b7b1
  2. 转换为mx.core.IUIComponent。 

这是因为Application的FlexaddChild方法并非完全继承自DisplayObjectContainer,
Application→LayoutContainer→Container→UIComponent→FlexSprite→Sprite→DisplayObjectContainer

而是在Container那里被重写了:

代码如下:
 

  1. publicoverridefunctionaddChild(child:DisplayObject):DisplayObject 

虽然参数child的类型是DisplayObject,但是它必须实现IUIComponent接口(所有Flex组件都实现了这一接口),才能添加。
如果要在Application里添加Sprite,可以先把它装进一个UIComponent,然后再添加这个UIComponent:

官方的说法:
◆<p><b>Note:</b>Whilethe<code>child</code>argumenttothemethod
◆isspecifiedasoftypeDisplayObject,theargumentmustimplement
*theIUIComponentinterfacetobeaddedasachildofacontainer.
◆AllFlexcomponentsimplementthisinterface.</p>

例子:

复制代码代码如下:
 

  1. importmx.core.UIComponent;privatefunctioninit():void{  
  2. varsp:Sprite=newSprite();  
  3. varuc:UIComponent=newUIComponent();  
  4. uc.addChild(sp);addChild(uc);  

【编辑推荐】

  1. 实例解析Flex字体的使用
  2. FlexBuilder4十大新特性闪亮登场
  3. 学习总结 在Flex中如何嵌入Flex字体
  4. 揭开Flex正则表达式的神秘面纱
  5. FlexBuilder开发方法及特点解析 

 

责任编辑:佚名 来源: jb51.net
相关推荐

2010-07-27 14:17:52

Flex SDK4

2010-06-04 14:42:25

2009-12-29 13:46:06

2010-05-26 17:05:13

SVN提交

2009-12-10 09:32:42

Visual Stud

2011-06-23 11:15:25

SEO网站优化

2022-09-23 09:25:04

代码方法

2011-05-26 11:22:04

SEO

2009-12-15 17:47:17

VSIP

2014-09-04 15:18:20

U-Mail邮件服务器

2009-12-03 14:37:47

安装phpMyAdmi

2009-06-12 09:46:40

Java String

2009-12-16 15:41:10

Ruby on Rai

2009-12-21 09:53:45

连接Oracle

2010-07-29 10:27:30

Flex键盘事件

2011-04-11 16:23:57

2010-05-07 10:19:48

Oracle 注意事项

2014-07-01 12:49:06

Android Stu安装

2010-02-05 14:13:17

Android平台

2011-07-21 15:20:31

iPhone SDK 多线程
点赞
收藏

51CTO技术栈公众号