Apache flex 在Flex4中使用AS3实例化按钮?
我在Flex 3.5 SDK上使用了这段代码,Flash Builder 4在MXML应用程序creationComplete中调用了一个函数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()甚
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!谢谢你,伙计!兴致勃勃地:)很高兴我能帮忙!