Динамическое создание CheckBox с помощью ActionScript - PullRequest
1 голос
/ 14 декабря 2011

Вот что у меня есть,

<?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" minWidth="955" minHeight="600"
               creationComplete="init()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import spark.components.CheckBox;

            private function init():void
            {
                var _cb:spark.components.CheckBox= new spark.components.CheckBox();
                _cb.name = "alsowhatever";
                _cb.y = 40;
                addChild(_cb);

            }
        ]]>
    </fx:Script>

</s:Application>

страница не отображает CheckBox, как ожидалось, может кто-то указать, где я ошибся. (Flash Builder перечисляет мою версию Flex как 4.1)

Ответы [ 3 ]

1 голос
/ 14 декабря 2011

Вы должны использовать addElement() вместо addChild().

1 голос
/ 10 января 2012

У вас есть _cb.name. Оно должно читаться следующим образом:

            var _cb:spark.components.CheckBox= new spark.components.CheckBox();
            _cb.label = "alsowhatever";
            _cb.y = 40;
            addElement(_cb);

Neil

1 голос
/ 14 декабря 2011

Это Spark-приложение: вы должны использовать addElement () вместо addChild (). Используйте addChild () только для компонентов mx.

Признается: это несколько сбивает с толку. Почему все еще есть открытая функция addChild (), если я не могу ее использовать? Ну, это потому, что все компоненты расширяют UIComponent (включая компоненты Spark). Таким образом, addChild () по-прежнему существует только по устаревшим причинам.

...