Flex多窗口之间的通信

  在实际的开发过程中我们经常会要使用到窗口管理,更多的时候是多级窗口。这时窗口间的通信相信会成为一个不小的问题,这时就会要求考虑去设计一个窗口管理器专门用于管理这些操作。下面就这个窗口管理的设计说说我的个人的思路。

  首先你的所有窗口应该能统一的管理到这个窗口管理器中,然后在下次需要通信的时候可以去直接取出已经存储的窗口资源。先看代码:

  

               for each(var win:Window in windowArr)
			{
				if(getQualifiedClassName(win) == "com.hero::HeroHireList")
				{
					(win as Object).setData();
				}
			}

首先我来讲下以上代码的具体参数及其作用:

  windowArr就是存储了所有窗口的一个缓存,以后你需要这个东西可以直接从这里面去取,只要你有模块加入进去,他就应该有包含。

  com.hero::HeroHireList是一个命名空间,通过Flex的反射机制可以获取到具体的实体。具体的反射我们使用getQualifiedClassName来实现。

  setData是HeroHireList这个模块中的一个公共接口,注意请保证该接口为公有的,否则此处无法访问。

  你应该知道了这个地方的处理很方便的就帮你解决了窗口之间的相互通信问题,你想要去调用某个变量或者方法都可以直接处理,其次你也可以对此方法进行拓展。具体还请自己研究。

 

posted @ 2010-10-11 20:24  yurong3000  阅读(407)  评论(0编辑  收藏  举报