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

Apache flex flex:创建多窗口web应用程序的最佳方法是什么?,apache-flex,actionscript,flex4,multi-window,Apache Flex,Actionscript,Flex4,Multi Window,我正在使用flex4,我正在寻找创建多窗口web应用程序的答案。我的应用程序有点复杂,目前我只知道使用PopupManager创建一个新窗口。 我是否应该为要实例化的每个窗口创建每个MXML?然后加载mxml并将其放入后台?有没有介绍这方面的教程?我希望程序模块化,易于管理和扩展 当前我使用的方法是使用Group将窗口内的所有控件组合起来,如果用户想要打开该窗口,我将显示该组并将其显示在最前面。这是开窗的正确方法吗?但我不能支持拖拽 我想知道是否有任何对可拖动窗口或对话框的本机支持 此外,到目前

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

当前我使用的方法是使用Group将窗口内的所有控件组合起来,如果用户想要打开该窗口,我将显示该组并将其显示在最前面。这是开窗的正确方法吗?但我不能支持拖拽

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


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

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


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

在回答第一个问题时,请参阅中的MDI内容


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

问题并不是什么进入了什么文件,而是如何实现对象或类之间的相互关系。如果多个窗口共享相同的结构或控件类型,则可以为这些窗口创建基类,控件也是如此


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

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


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

要使用PopupManager,您必须首先在项目中的应用程序旁边的src文件夹中创建一个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(这个,create_folder_window,true))

中心弹出窗口(创建文件夹); 使用addEventListener创建文件夹(FlexEvent.REMOVE,关闭创建文件夹刷新)

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


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

要使用PopupManager,您必须首先在项目中src文件夹中的应用程序旁边创建一个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(这个,create_folder_window,true))

中心弹出窗口(创建文件夹); 使用addEventListener创建文件夹(FlexEvent.REMOVE,关闭创建文件夹刷新)

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


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

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

  • mx:TitleWindow-本机flex组件。不那么有力
  • 中的MDI组件:功能强大且稳定
  • 令人惊讶但没有很好的记录

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

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

  • mx:TitleWindow-本机flex组件。不那么有力
  • 中的MDI组件:功能强大且稳定
  • 令人惊讶但没有很好的记录

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

    您想要什么类型的窗口,是否有用户交互,有多少个窗口?任何DisplayObject或DisplayObjectContainer都可以是“窗口”。除了PopupManager之外,Flex还提供了许多组件。你对OOP了解多少?您说您希望您的程序模块化且易于管理。定义您试图实现的目标,否则我们只能给您一个与您的问题一样模糊的回答。我希望基础设施支持flash页面中的可拖动窗口,我还想知道如何将控件分离到不同的mxml文件中,谢谢。我已经编辑了我的问题。你想要什么样的窗口,是否有用户交互,有多少个窗口?任何DisplayObject或DisplayObjectContainer都可以是“窗口”。除了PopupManager之外,Flex还提供了许多组件。你对OOP了解多少?您说您希望您的程序模块化且易于管理。定义您试图实现的目标,否则我们只能给您一个与您的问题一样模糊的回答。我希望基础设施支持flash页面中的可拖动窗口,我还想知道如何将控件分离到不同的mxml文件中,谢谢。我已经编辑了我的问题。我喜欢你的第一部分答案,但你的第二部分答案真的不受欢迎。我喜欢你的第一部分答案,但你的第二部分答案真的不受欢迎。是否可以在一个项目中包含多个mxml文档?我怎么能