如何组织界面流程

时间:2014-02-16 11:42:53

标签: java swing user-interface

我有一个应用程序,它会因用户操作(即安装程序)而更改其界面。问题是:如何组织切换这些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 {
        /* ... */
    }
}

1 个答案:

答案 0 :(得分:0)

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

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

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

您可以使用一些Factory / Singletonpattern来创建/获取要切换到的面板。

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