如何在添加新版本之前从JFrame中删除JPanel

时间:2011-12-24 08:18:25

标签: java swing miglayout

我已经将JPanel添加到JFrame中。我已经动态添加了JPanel。在动态添加JPanel之后,它保留在之前添加的JPanel附近。如何删除以前的JPanel?

PS 我也想过使用cardlayout - 这是一个好方法吗?

1 个答案:

答案 0 :(得分: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,否则您将从{{1}删除所有JFrame }}