ошибка метода добавления дочернего элемента flash Builder в пользовательском компоненте

#flash #components #builder

#flash #Компоненты #Конструктор

Вопрос:

Я пытаюсь создать сворачивающийся список, подобный тем, что есть в Google 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:

В Spark, платформе Flex 4, они как бы абстрагировались от всего «addChild», потому что вы не работаете с DisplayList напрямую. Вместо этого вам нужно «Добавить элемент()» в группу.

Однако addElement требует, чтобы в качестве параметра был IVisualElement, если я правильно помню. В принципе, если вы привыкли к прямому старому AS3 «addChild()», то вам придется немного поучиться — результат того стоит, но это может быть сложно.

Вот сообщение в блоге, которое, кажется, довольно хорошо разбирается в нем, я надеюсь, это поможет: http://www.billdwhite.com/wordpress/?p=296