自定义控件的通讯解决思路
发布时间:2011-06-27 20:43:13 文章来源:www.iduyao.cn 采编人员:星星草
自定义控件的通讯
现在是在一个自定义控件中有两个另外的两个自定义控件,问题就是这两个自定义控件怎样通讯的啊 ?
------解决方案--------------------
可以用一个全局的变量啊,
给你举个例子:比如说,一个HBox里面,有有一个装着一个树形控件的自定义控件,还有一个带有一个ViewStack的自定义控件,
在你的树形控件自定义控件的script脚本里面定义一个全局变量:public static var str:String;然后写个函数去得到树形控件的节点,把它存在我的这个字符串全局变量里,如下:
public static function GettreeChangedNode(event:Event):void {
selectedNode=Tree(event.target).selectedItem as XML;
str=selectedNode.@label;
}
然后,在另外的自定义控件Application源代码里面:首先引入,刚刚那个,比如刚刚写的那个自定义控件在这个路径下:
import com.ui.IBSNavigator;
在你需要用到之前定义的那个全局变量就可以直接的用:com.ui.IBSNavigator.str得到
希望对你有所帮助
------解决方案--------------------
一种方式通过事件机制:
内部组件1,派发出一个事件,内部组件2监听事件 并接受到这个事件来进行处理
注意:如果组件1和2不在同一层,是主组件pop出来的,事件就要由主组件接收到,再通过内部组件2.dispatchEvent(event)来转发,否则接受不到。
另一种方式通过Function类互相调用:
内部组件1 要调用组件2的方法,如果是在主程序里面的处理话,直接用组件2ID.function()
如果是在组件1内部,要调用组件2的话(因为组件1里面没有组件2的引用),最好通过主程序进行一下协调调用。
------解决方案--------------------
不是很明白楼主的意思。
无论什么控件 只要继承flash.events.EventDispatcher类,就能内部发送事件,外部监听事件。
比如3个控件分别为A,B,C,B,C为A的内部组件。
那就以A作为中间实现BC的通讯:
在B中dispatchEvent(new Event("B"));//派发事件
在A中B.addEventListener("B",doC());//监听事件,同时对C做相应操作
如果需要传递数据,可以用自定义事件来代替Event
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
flex连接数据库编程
刚学了flex。用flex写了个程序,实现和数据库连接,但是老出问题,如下:
调用可能未定义的方法 deleteUser (通过 s...
-
AdvancedDataGrid 的节点对象怎么读取?
<?xml version= "1.0 " encoding= "utf-8 "?>
<mx:Application xmlns:mx=...
-
<mx:SWFLoader 加事件后卸载不干净
<mx:SWFLoader id="tb" source="topbar.swf" complete="tb_completeHandler(event)"/>
public...
-
flashDevelop 项目错误
我创建了一个Flex项目,该项目只包含一个文件,名为Main.mxml。
XML code
<?xml version="1.0" encoding="u...
-
类型1067:Array 类型值的隐式强制指令的目标是非相关类型
新下载了Flash Builder 4来学习flex。按照网上的一个例子写,但出现上面...
-
Flex导出Excel怎么做?要详细代码和说明。谢谢
如题。
------解决方案--------------------
给你一个网上的例子,希望对你有帮助,不...
-
flex google map问题!
最近在做flex地图,我看网上说的属性我这里都打不出来,是不是sdk版本不同啊。
我实在官网下的,是map_flex_1_20....
-
flex4.0的spark控件不能被qtp10.00的对象查看器识别
各位大侠:
我刚才qtp做flex的自动化测试,使用的flash builder是4.0版本...
-
Channel definition, mx.messaging.channels.RTMPChannel, can not be found.
我从CSDN上下载了一个FLEX+J2EE的教程,但是一步一步...
-
flex 控制键盘的响应间隔
如有个keyboaedevent的mousedown监听,里面就一句代码 trace("a");
怎么控制键盘按下后输出a的时间间隔
...