3

我正在为我的应用程序构建简单的 GUI。我有几个 JPanel。我想根据通过单击 JButton 执行的操作来显示它们。如何禁用一个 JPanel 并启用另一个?

几个细节。我有一个 JFrame 类,我正在构建起始 gui。我有按钮和一些文字的地方。单击其中一个按钮应更改此 JFrame 中的视图

我的按钮定义

    JButton btnStart = new JButton("Start");
    btnStart.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

        }
    });
    btnStart.setBounds(10, 11, 110, 23);
    contentPane.add(btnStart);

// 编辑

我发现了问题。按钮采用静态方法

4

3 回答 3

7

简单如:

jframe.setContentPane(your_new_panel);
jframe.invalidate();
jframe.validate();
于 2012-06-11T16:40:12.460 回答
5
  1. 您可能想要使用CardLayout
  2. 或者您可以简单地删除旧面板并添加新面板:

contentPane.remove(oldPanel);
contentPane.add(newPanel);
于 2012-06-11T16:37:32.220 回答
1

首先删除 jPanel 并添加新的 jPanel。然后使用 validate 执行重新布局。

    jFrame.remove(jPanelOld);
    jFrame.add(jPanelNew);
    jFrame.validate();
于 2018-07-24T18:30:22.090 回答