我有关于 Flex SDK 的非常基本的问题,但我没有找到任何解决我的问题的资源,而且老实说我不知道它是否可以做我想做的事情。所以这是我的问题:
我使用 Adobe Flex Builder 4.6 创建了 Flex 项目。然后我将按钮(假设它的 id 是 btn1
)放置在主 MXML 文件中。我想从主 MXML 文件的脚本部分动态创建第二个按钮。具体来说,我想从 btn1
的按钮单击处理程序创建它。
这是我的 MXML 代码(它是项目中唯一的文件):
<?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">
<fx:Script>
<![CDATA[
protected function btn1_clickHandler(event:MouseEvent):void
{
var btn2:Button = new Button();
btn2.label = "Hello";
btn2.x = 50;
btn2.y = 50;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Non visual elements -->
</fx:Declarations>
<s:Button id="btn1"
x="10" y="10"
label="Кнопка"
click="btn1_clickHandler(event)"/>
</s:Application>
但是当我点击btn1
时 - 什么也没有发生。我可能不理解 Flex 编程范式中的某些内容 - 请为我指出。
最佳答案
您必须使用 addElement()
将按钮添加到 View 。
var btn2:Button = new Button();
btn2.label = "Hello";
btn2.x = 50;
btn2.y = 50;
addElement(btn2);
关于actionscript-3 - 在 Flex 中动态创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137639/