Apache flex 表示窗口是;主动的;在常规Flex(非AIR)应用程序中

Apache flex 表示窗口是;主动的;在常规Flex(非AIR)应用程序中,apache-flex,Apache Flex,我有一个Flex4应用程序(不是AIR),它有一些浮动窗口,基本上充当无模式对话框 现在,如果其中两个同时打开,它们将作为同级运行,这两个同级都处于活动状态,并且其控件已启用以供用户交互 现在,我需要对应用程序中哪一个是“活动的”保持一些概念。我不想/禁用/非活动控件,以使其模糊或阻止对其控件的输入 我基本上想复制基本的操作系统窗口管理:当你在一个窗口中单击或键入一个控件时,它会出现在前面,它的标题栏看起来是“活动的”,其他的则是“非活动的”。就像Windows中的一群探索者一样 有人能给我一个

我有一个Flex4应用程序(不是AIR),它有一些浮动窗口,基本上充当无模式对话框

现在,如果其中两个同时打开,它们将作为同级运行,这两个同级都处于活动状态,并且其控件已启用以供用户交互

现在,我需要对应用程序中哪一个是“活动的”保持一些概念。我不想/禁用/非活动控件,以使其模糊或阻止对其控件的输入

我基本上想复制基本的操作系统窗口管理:当你在一个窗口中单击或键入一个控件时,它会出现在前面,它的标题栏看起来是“活动的”,其他的则是“非活动的”。就像Windows中的一群探索者一样


有人能给我一个方法的线索吗?

假设您的弹出窗口扩展UIComponent,您应该能够侦听事件以使窗口处于活动状态,并侦听事件以使窗口处于非活动状态


现在容器通常不发送焦点事件;然而,容器的子对象将。由于焦点事件冒泡,您可以在弹出窗口中收听它们。

就我个人而言,我会用我们称之为调解人的方法来处理这个问题。。。本质上是一个单一的UI控制器,以及一个稍微定制的组件和自定义皮肤。在弹出窗口时,每个窗口都向中介注册自己,因此中介知道所有打开的窗口;在关闭窗口时,每个窗口都会注销自己;在每个组件上,中介会通知中介该事件;在其他面板上,中介会调用一个方法来进行模糊处理或其他操作

自定义组件可以扩展TitleWindow并添加属性IsActiveWindow,然后自定义蒙皮可以基于此属性更改其外观

对于pro点,使用机器人腿将对中介的引用注入组件

祝你好运