我对Flex SDK有一个非常基本的问题,但我没有找到任何资源来解决我的问题,老实说不知道是否有可能做我想做的事情。所以这是我的问题:
我使用Adobe Flex Builder 4.6创建了Flex项目。然后我在主MXML文件中放置了按钮(假设它的id为btn1
)。我想直接从主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编程范例中的某些内容 - 请为我指出。
答案 0 :(得分:2)
您必须使用 addElement()
将该按钮添加到视图中。
var btn2:Button = new Button();
btn2.label = "Hello";
btn2.x = 50;
btn2.y = 50;
addElement(btn2);