Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在Flex4中使用AS3实例化按钮?_Apache Flex_Flash_Actionscript_Mxml_Builder - Fatal编程技术网

Apache flex 在Flex4中使用AS3实例化按钮?

Apache flex 在Flex4中使用AS3实例化按钮?,apache-flex,flash,actionscript,mxml,builder,Apache Flex,Flash,Actionscript,Mxml,Builder,我在Flex 3.5 SDK上使用了这段代码,Flash Builder 4在MXML应用程序creationComplete中调用了一个函数 var myButton:Button = new Button; myButton.label = "test"; addChild(myButton); Alert.show("Button Created"); 但是,当我这次在同一个Flash Builder 4上使用它时,在Flex 4.0 SDK下,一切都没有发生。Alert.show()甚

我在Flex 3.5 SDK上使用了这段代码,Flash Builder 4在MXML应用程序creationComplete中调用了一个函数

var myButton:Button = new Button;
myButton.label = "test";
addChild(myButton);
Alert.show("Button Created");
但是,当我这次在同一个Flash Builder 4上使用它时,在Flex 4.0 SDK下,一切都没有发生。Alert.show()甚至没有显示,这意味着它甚至没有到达该点

所以我的问题是,怎么了?我错过什么了吗

附言。
需要能够动态创建/删除MXML组件(在应用程序运行时)。这只是一个测试脚本,我在实现我所需要的方面失败得很惨。

最好用灵活的方式来完成

<fx:Script>
    <![CDATA[
        import mx.controls.Alert;
        private function alert():void
        {
            Alert.show("Button added to stage");
        }
    ]]>
</fx:Script>

<s:Button id="myButton" label="test" addedToStage="alert()"/>


在flex中不能仅使用addChild添加按钮。首先需要创建一个UIComponent,然后将按钮添加到UIComponent。这与flash方式有点不同。

在Spark中,您需要使用addElement而不是addChild

var b:Button = new Button();
addElement(b);

我不确定您的警报为什么不起作用:\

通常您使用MXML创建UI,但在某些情况下,您确实需要动态创建UI元素,正如其他海报所述,addElement()是Flex 4 Spark容器的关键

在将组件添加到MX容器(来自Flex 3)时,您仍然在Flex 4中使用addChild()。添加到Spark容器时,只需使用addElement()


当然,Adobe建议您在有类似MX容器的情况下使用Spark容器。

它在3.5 SDK上运行良好,所以我想知道为什么它在4.0中不起作用。无论如何,我真的需要能够动态创建/删除按钮或其他MXML组件,而这只是我的主要测试脚本之一,我很遗憾无法使其正常工作。天哪,这正是我需要的信息!我不知道我必须使用addElement而不是addChild!谢谢你,伙计!兴致勃勃地:)很高兴我能帮忙!