自定义组件中的flash builder addChild方法错误

时间:2011-05-06 23:43:04

标签: flash components builder

我正在尝试制作一个像谷歌adwords中那样的折叠列表。编译器告诉我addChild不是一个有效的方法。这是我的代码:

package comps
{
import spark.components.Button;
import spark.components.Group;
import spark.components.TextArea;

public class CollapsibleList extends Group
{

    private var btn : Button = new Button();
    private var list : TextArea = new TextArea();

    public function CollapsibleList()
    {
        super();
        this.btn.width = 100;
        this.btn.height = 20;
        this.btn.label = "My Button";
        this.btn.top = 0;
        this.btn.left = 0;

        this.list.width = 100;
        this.list.height = 200;
        this.list.top = 20;
        this.list.left = 0;

        this.addChild(this.btn);
        this.addChild(this.list);
    }
}
}

我只是在main.mxml中调用它,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:comps="comps.*"
           minWidth="955" minHeight="600">

<comps:CollapsibleList/>

</s:Application>

我保证编译器不会骗我,所以如何让这些对象(子)出现?

1 个答案:

答案 0 :(得分:0)

在Spark,Flex 4框架中,他们有点抽象出整个“addChild”的东西,因为你没有直接使用DisplayList。相反,你必须“addElement()”到一个组。

但是,如果我没记错的话,addElement需要将参数作为IVisualElement。基本上,如果你习惯于直接使用旧的AS3“addChild()”那么你将会有一些学习曲线 - 这种回报是值得的,但它可能很难。

这篇博文似乎很好地融入其中,我希望这会有所帮助:http://www.billdwhite.com/wordpress/?p=296