【问题标题】:switching Jpanels 1 Jframe切换 Jpanels 1 Jframe
【发布时间】:2014-05-02 20:29:17
【问题描述】:

我一直在寻找,没有什么对我来说足够简单。但是对于我正在做的事情,我想在我的主要方法中制作一个 JFrame,并为每个 JPanel 使用不同的类文件。 (这是为了保持信息分离和清洁)。 如果我用这种方法切换 JPanel 的最佳方法是什么?

public class Main extends JFrame {
public Main(){
    JFrame intro = new JFrame("FormProgram");
    intro.setSize(800,600);
    intro.setVisible(true);
    intro.setResizable(false);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    intro.setLocationRelativeTo(null);

}

public static void main(String[] args) {

    new Main();

}

那我的基础二班是这样的。

public class Page1 extends JFrame implements ActionListener{


public JLabel test;

public void Page1(){

    Container cp = intro.getContentPane();
    cp.setLayout(null);
    this.test = new JLabel("welcome");
    this.test.setBounds(5,5,300,300);
    cp.add(test);


}

【问题讨论】:

    标签: java swing jframe jpanel


    【解决方案1】:

    切换 JPanel 的最佳方式是什么

    使用CardLayout。阅读 How to Use a CardLayout 上的 Swing 教程部分,了解更多信息和一个工作示例。

    【讨论】:

    • 我知道 CardLayout 很常见,但我不知道如何将布局分离到不同的类,在这个项目中将它们分开对我来说很重要。
    • 每个子面板可以在一个单独的类中。这些面板可以使用适合每个面板布局的任何布局管理器。然后在创建 GUI 的主类中创建一个使用 CardLayout 的主面板。然后创建子面板的实例并使用 CardLayout 将这些面板添加到面板中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2016-12-12
    相关资源
    最近更新 更多