问题描述
在一个application下有两个panel:panel1和panel2, panel1里有个button,当button被按下的时候,如何能够让panel2获得button被按下的消息? 问题补充:能不能详细的说下你的思路?ztp 写道
解决方案
在组件里(也就是你说的工具箱里)使用this.parentApplication就可以访问该组件所在的Application里的所有对象了.也就是this.parentApplication.Panel2.button2
解决方案二:
<?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" creationComplete="init()"><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><fx:Script><![CDATA[import flash.events.Event;import mx.controls.Alert;private function init():void{button.addEventListener(MouseEvent.CLICK,clickHandler);}private function clickHandler(eve:MouseEvent):void{p2.title="直接修改就可以了";}]]></fx:Script><s:Panel id="p1" x="47" y="35" width="250" height="200"><s:Button id="button" x="89" y="41" label="按钮" /></s:Panel><s:Panel id="p2" x="341" y="109" width="250" height="200"></s:Panel></s:WindowedApplication>
解决方案三:
可以在button事件中这样访问吧: this.parent.panel2.控件名