我的应用程序在Flex 3.5中...我的代码在这里,如何获取textarea的id值? Button.Mxml
<mx:Button width="20" height="20" label="TextArea" id="textarea" click="setShape(DrawObject.TEXT);showTextArea()"/>
我的另一个档案在这里: Main.Mxml
private function doMouseDown_canvas():void
{
if(this.shapeStyle==DrawObject.TEXT)
{
if(isDrawing)
{
isDrawing = false;
this.d = drawFactory.makeDrawObject(this.shapeStyle,segment, this.drawColor, this.thickness, textarea.text);
dispatchEvent(new Event(BoardMediator.SEND_SHAPE));
textarea.visible = false;
}else
{
isDrawing = true;
x1 = canvas.mouseX;
y1 = canvas.mouseY;
segment.push(x1);
segment.push(y1);
textarea.text = "";
textarea.visible = true;
textarea.x = canvas.mouseX;
textarea.y = canvas.mouseY;
textarea.setFocus();
locateEditor();
}
}else
{
isDrawing = true;
x1 = canvas.mouseX;
y1 = canvas.mouseY;
segment.push(x1);
segment.push(y1);
canvas.rawChildren.addChild(feedback);
}
}
答案 0 :(得分:0)
你必须在某个地方使用Button.mxml ......! 设置mxml文件中某事物的ID,使该对象成为相应类的公共属性。
如果<mx:Button>
是你的button.mxml里面唯一的东西,那就去掉button.mxml里面的ID并从外面设置它。
如果你有一个周围的容器,就像HGroup一样,你可以从你的主要访问它:
<myNS:Button id="myButton" />
并在fx:Script
标记中:
myButton.textarea;
欢呼声
答案 1 :(得分:0)
MxmlOne.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:Button id="myBtn" label="something"/>
</s:Panel>
MxmlTwo.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
private function someFunc():void
{
myPanel.myBtn.label = 'Some label';
}
]]>
</fx:Script>
<MxmlOne id="myPanel"/>
</s:WindowedApplication>