如何在不使用CardLayout的情况下从一个面板移动到另一个面板?

时间:2015-08-09 15:43:26

标签: java jpanel

我的程序中有三个Panel和一个Frame。我想关闭/隐藏当前面板并显示/激活下一个面板。我正在设计游戏,因此我不想使用CardLayout

private void select() {
    if (currentChoice == 0) {
        f.remove(gpanel1);
        gpanel = new GamePanel();
        f.add(gpanel);
    }
}

这里f是框架对象。 gpanel1gpanel是初始化的面板对象(已经从框架类调用了构造函数)。

如何隐藏旧面板并移至下一个面板?有没有CardLayout的替代品?

1 个答案:

答案 0 :(得分:0)

要更改JFrame中的面板,请使用这些方法

f.setContentPane(gpanel);
f.pack();

setContentPane()删除当前面板并将其替换为提供的面板。