0

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

我目前使用的方法是使用 Group 将窗口内的所有控件分组,如果用户想打开该窗口,我将显示该组并将其带到前面。这是做窗口的正确方法吗?但我不能支持拖动。

我想知道是否有任何对可拖动窗口或对话框的本机支持?

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

4

4 回答 4

1

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

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

于 2010-10-20T10:28:35.323 回答
1

问题不是真正进入什么文件,而是如何实现与彼此相关的对象或类。如果多个窗口共享相同的结构或共享一种控件,您绝对可以为这些窗口创建一个基类,控件也是如此。

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

于 2010-10-20T11:12:34.193 回答
1

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

例如:

<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);

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

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

于 2010-10-20T21:33:33.260 回答
0

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

  1. mx:TitleWindow - 原生 flex 组件。没那么强大
  2. flexlib中的 MDI 组件:功能强大且稳定
  3. appmdi令人惊叹,但没有很好的记录。

我选择了 flexlib MDI 组件,但我建议看看其他解决方案

于 2011-04-18T16:18:30.680 回答