2011-12-14 3 views
1

Вот то, что я до сих пор,Динамическое создание CheckBox с помощью ActionScript

<?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)

ответ

1

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

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

+0

Это было это спасибо, к вам обоим. – John

1

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

1

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

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

Нил

Смежные вопросы