flex:创建多窗口Web应用程序的最佳方法是什么?

时间:2010-10-20 06:03:54

标签: flex actionscript flex4 multi-window

我正在使用flex4,我正在寻找创建多窗口Web应用程序的答案。我的应用程序有点复杂,目前我只知道使用PopupManager创建一个新窗口。 我应该为每个要实例化的窗口创建每个MXML吗?然后加载mxml并将其放入舞台?是否有任何教程描述?我希望程序模块化,易于管理,扩展。

我正在使用的当前方式是使用Group对窗口内的所有控件进行分组,如果用户想要打开该窗口,我将显示该组并将其显示在前面。这是做窗口的正确方法吗?但我无法支持拖累。

我想知道是否有可拖动窗口或对话框的原生支持?

到目前为止,所有控件都放在一个mxml文件中,是否可以将一个窗口(或一个组)放在一个单独的mxml文件中?

4 个答案:

答案 0 :(得分:1)

在回答您的第一个问题时,请查看Flexlib中的MDI内容。

在回答第二个问题时,请查看有关如何管理项目的Flex教程。

答案 1 :(得分:1)

问题不在于什么文件,而在于如何相互实现对象或类。如果多个窗口共享相同的结构或共享一种控件,那么你肯定可以为这些窗口创建一个基类,对于控件也是如此。

对于可以拖动的组件或一组常用控件,没有什么特别困难的。 Gregor Kiddie有一点,你为什么不查看一些Flex教程?

答案 2 :(得分:1)

要使用PopupManager,您必须首先在项目旁边的项目中创建一个包含TitleWindow的应用程序中的mxml组件,例如作为组件容器,该容器很有用,因为它类似于一个窗口,它有关闭按钮...

例如:

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();"  initialize="requestEvent();" width="368" close="close();" height="116" layout="absolute" backgroundAlpha="100" title="Create Folder" showCloseButton="true" x="29" y="21" borderColor="#FFFFFF" cornerRadius="10" alpha="2" themeColor="#FFFFFF">

</mx:TitleWindow>

要从应用程序实例化并弹出该组件,您必须使用PopupManager 例如,如下代码:

var create_folder_w:create_folder_window = create_folder_window(PopUpManager.createPopUp(this,create_folder_window,true));

PopUpManager.centerPopUp(create_folder_w); create_folder_w.addEventListener(FlexEvent.REMOVE,close_create_folder_refresh);

该代码将显示我在第一部分中显示的窗口组件

我希望这个简单的例子可以帮助你......

答案 3 :(得分:0)

要拥有MDI环境,您至少有三个选项:

  1. mx:TitleWindow - 本机flex组件。不是那么强大
  2. flexlib中的MDI组件:功能强大且稳定
  3. appmdi令人惊讶但没有详细记录。
  4. 我已经选择了flexlib MDI组件,但我建议看看其他解决方案