Gui - 在窗户之间导航的最佳方式?

时间:2008-11-26 08:20:47

标签: java user-interface swing

我尝试为一个简单的java应用程序构建一个gui(Swing)。应用程序应该有一个像菜单一样的启动窗口。从那里我想导航到其他几个窗口。

我的问题是实现这种导航的最佳做法是什么?我应该构建多个JFrame并在导航时打开/关闭它们的可见性或者我应该更好地拥有一个JFrame并在此单帧中添加/删除JPanel以在窗口之间导航?

感谢。

4 个答案:

答案 0 :(得分:2)

我推荐

  • 使用旧版Windows中的子框架执行MDI应用程序。当他们让事情变得混乱时,他们很糟糕。
  • 设计标签式界面。欢迎页面/菜单将显示在始终在开头创建的第一个选项卡上。

现在所有酷孩子都会这样做:

  • Visual Studio
  • 的Eclipse
  • 火狐

答案 1 :(得分:1)

多个JFrame对我来说听起来更好。更多OO。

答案 2 :(得分:1)

如果您的每个窗口都对应不同的任务(可能是嵌套的),您可以将您的应用程序显示为SDI,左侧是任务面板,如:

demo

每个任务都会显示一个带有关联窗口的JFrame。

其他解决方案: table of content 就像左侧的这张照片一样

(注意:它实际上还在右下角显示了此示例中的任务面板)

SwingXDemo

答案 3 :(得分:1)

您必须在这些目标之间找到平衡点:

  • 在一个“窗口”中没有太多东西
  • 用户必须能够快速找到正确的窗口才能进行下一步工作
  • 所有相关信息必须随时可见

Eclipse通过创建许多小编辑器来解决这个问题,其中每个编辑器都显示一些特定信息并允许对其进行修改。然后将编辑器安排在选项卡和“视图”中的一个OS窗口内。视图始终完全可见,并且可以进行排列。将视图视为将现有编辑器切成两半(水平或垂直)然后能够用另一个编辑器替换其中一半的方法。在每一半之间,你有一个分离器,所以你可以调整大小。

然后将视图的排列保存在“透视图”中。

这允许每个用户创建一个包含所有必要编辑器的透视图,根据需要进行排列并有效地工作。