如何获取id值从一个mxml文件到flex中的另一个mxml文件?

时间:2011-07-21 10:09:35

标签: java flex

我的应用程序在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);
                            }
                    }

2 个答案:

答案 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>