使用ActionScript动态创建CheckBox

时间:2011-12-14 16:23:05

标签: actionscript-3 flex4 flashbuilder4

这是我到目前为止所拥有的,

<?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 个答案:

答案 0 :(得分:1)

这是一个Spark应用程序:你应该使用addElement()而不是addChild()。仅在mx组件中使用addChild()。

承认:这有点令人困惑。如果我不能使用它,为什么还有公共函数addChild()?那是因为所有组件都扩展了UIComponent(包括Spark组件)。因此,由于遗留原因,addChild()仍然存在。

答案 1 :(得分:1)

您必须使用addElement()代替addChild()

答案 2 :(得分:1)

你有_cb.name它应该阅读广告如下:

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

尼尔