【问题标题】:How to organize interface flow如何组织界面流程
【发布时间】:2014-02-16 20:42:23
【问题描述】:

我有一个应用程序,它会因用户操作而改变其界面(即安装程序)。问题是:如何组织切换这些pages 和构建位置 - 如果类继承 JFrame,或者构建接口的方法(如 Oracle 教程中的 createAndShowGui),则在主构造函数中构建所有内容 - 或 - 提供一个返回 JPanel 的方法,它代表需要的页面。 或者,像这样

class UI extends JFrame {

    private Page1 page1;
    private Page2 page2;
    //...

    public UI() { /* Main UI and switching */ }

    private class Page1 extends JPanel {
        /* ... */
    }

    private class Page2 extends JPanel {
        /* ... */
    }
}

【问题讨论】:

  • 我所描述的界面组织类似于向导。最好的方法是使用 CardLayout 或(JInternalFrame、JDesktopPane 或 JTabbedPane)。请关闭问题。
  • 发件人:firstsecondthird

标签: java swing user-interface


【解决方案1】:

首先我会在 JFrame 上使用 JPanel,因为您可能不希望每次切换面板时都创建顶级 GUI 元素。

您应该使用包含这些子面板(您计划在其上切换的那些)的主面板

我建议将它分成几个类,并提供一个方法,当你在它们之间切换时返回所需的 JPanel。

您可以使用某种工厂/单例模式来创建/获取要切换到的面板。

所以 Mainpanel 正在处理访问提到的 Factory 类来替换您每次想要切换到另一个面板时要显示的子面板。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-22
    • 2022-01-16
    • 2020-03-10
    • 1970-01-01
    • 2022-11-15
    • 2018-06-13
    • 2021-05-18
    • 1970-01-01
    相关资源
    最近更新 更多