单击按钮后更改JPanel

时间:2012-06-11 16:34:53

标签: java swing jframe jpanel

我正在为我的应用构建简单的GUI。我有几个JPanels。我希望根据通过单击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);

//编辑

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

3 个答案:

答案 0 :(得分:4)

  1. 您可能希望使用CardLayout
  2. 或者您可以简单地删除旧面板并添加新面板:

  3. contentPane.remove(oldPanel);
    contentPane.add(newPanel);
    

答案 1 :(得分:4)

简单如下:

jframe.setContentPane(your_new_panel);
jframe.invalidate();
jframe.validate();

答案 2 :(得分:0)

首先删除jPanel并添加新的jPanel。然后使用验证执行中继。

    jFrame.remove(jPanelOld);
    jFrame.add(jPanelNew);
    jFrame.validate();