Java 如何在添加新的JPanel之前从JFrame中删除JPanel

Java 如何在添加新的JPanel之前从JFrame中删除JPanel,java,swing,miglayout,Java,Swing,Miglayout,我发现JPanel已经添加到JFrame中。我还动态添加了JPanel。在动态添加JPanel后,它会停留在之前添加的JPanel附近。如何删除以前的JPanel PS 我还考虑使用cardlayout——这是一种好方法吗?有一种方法可以在JFrame 您将这样使用它: Component[] comp = frame.getContentPane().getComponents(); for(int i=0; i<comp.lenght; i++) { if(comp[i] in

我发现JPanel已经添加到JFrame中。我还动态添加了JPanel。在动态添加JPanel后,它会停留在之前添加的JPanel附近。如何删除以前的JPanel

PS 我还考虑使用cardlayout——这是一种好方法吗?

有一种方法可以在
JFrame

您将这样使用它:

Component[] comp = frame.getContentPane().getComponents();
for(int i=0; i<comp.lenght; i++)
{
    if(comp[i] instanceof JPanel)
    {
        frame.remove(comp[i]);
    }
}
Component[]comp=frame.getContentPane().getComponents();
对于(int i=0;i,有一种方法可以在
JFrame

您将这样使用它:

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

对于(int i=0;ithx!我会试试!我有一些扩展JPanel类的视图,所以我想我可以使用“instanceof MyViewClass”为了找到必要的面板…我还尝试在同一个位置添加所有必要的面板,并执行显示/隐藏操作。这比每次删除它们更好。但是面板不会像我所希望的那样一个接一个地放置。我可以执行smth使它们一个接一个地放置吗?使用
边框布局
,所有
组件
都将添加到中心,我会这样做如果您使用
add(comp)
。它将使用FIFO.thx的层次结构!我会尝试!我有一些扩展JPanel类的视图,所以我想我可以使用“instanceof MyViewClass”为了找到必要的面板…我还尝试在同一个位置添加所有必要的面板,并执行显示/隐藏操作。这比每次删除它们更好。但是面板不会像我所希望的那样一个接一个地放置。我可以执行smth使它们一个接一个地放置吗?使用
边框布局
,所有
组件
都将添加到中心,我会这样做如果你使用
add(comp)
。它将使用FIFO的层次结构。是的,这是一个好方法。是的!我现在就用它。我做我需要的一切。是的,这是一个好方法。是的!我现在就用它。我做我需要的一切。