1

我有 JPanel 已经添加到 JFrame。而且我已经动态添加了JPanel。在动态添加 JPanel 后,它会停留在之前添加的 JPanel 附近。如何删除以前的 JPanel?

PS我也考虑使用卡片布局 - 这是一个好方法吗?

4

1 回答 1

1

有一种方法getComponents()可以为您提供子组件JFrame

你会像这样使用它:

Component[] comp = frame.getContentPane().getComponents();
for(int i=0; i<comp.lenght; i++)
{
    if(comp[i] instanceof JPanel)
    {
        frame.remove(comp[i]);
    }
}

注意:此修复仅在您一次只有一个JPanel内部JFrame时有效,否则您将删除所有JPanels来自JFrame.

于 2011-12-24T08:31:22.740 回答