1

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

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

4

3 回答 3

1

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

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

于 2011-12-14T16:27:56.383 回答
1

您必须使用addElement()而不是addChild().

于 2011-12-14T16:28:34.677 回答
1

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

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

尼尔

于 2012-01-10T06:51:06.560 回答