我已经将JPanel添加到JFrame中。我已经动态添加了JPanel。在动态添加JPanel之后,它保留在之前添加的JPanel附近。如何删除以前的JPanel?
PS 我也想过使用cardlayout - 这是一个好方法吗?
答案 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
}}