Java AWT:清理/移除容器面板

Java AWT:清理/移除容器面板,java,awt,jpanel,Java,Awt,Jpanel,Java AWT:清理/移除容器面板 我是Java AWT的新手,我想为大学做一个练习 这就是代码: public class Panel0 extends JPanel { //... private void createMyLayout(bool test) { this.add(BorderLayout.CENTER, new Panel1(test)); } //... } public class P

Java AWT:清理/移除容器面板

我是Java AWT的新手,我想为大学做一个练习

这就是代码:

public class Panel0 extends JPanel {

     //...     

     private void createMyLayout(bool test) {


         this.add(BorderLayout.CENTER, new Panel1(test));

     }

     //...
}


public class Panel1 extends JPanel {

    public Panel1(bool test){

        super(new GridLayout(1,4));

        if(breed!= Breed.ZOMBIE) 
            add(new Panel2("helow 1 test"));
        else
            add(new Panel2("helow 2 test"));

    }

}

public class Panel2 extends JPanel{

      public Panel2(String myText){
          super(new BorderLayout());
          add(new JLabel(myText));
       }    
}
当您调用方法“CreateMayout”时,我需要删除以前的布局并使用新数据重新创建它,但不需要完成它


谢谢。

实际上,是秋千。在添加新内容之前,可以在JPanel0中使用removeAll方法。

实际上,它是Swing。在添加新内容之前,可以在JPanel0中使用removeAll方法。

这实际上是javax.swing,而不是java.awt

另外,你的问题相当令人困惑。你说你想删除一个“布局”,但java实际上有一个布局类,这不是你所说的。您想删除组件

myPanel.removeAll(); //removes all the stuff inside

我会成功的。我建议您重命名一些东西,这样您就不会混淆布局、面板和组件。

这实际上是javax.swing,而不是java.awt

另外,你的问题相当令人困惑。你说你想删除一个“布局”,但java实际上有一个布局类,这不是你所说的。您想删除组件

myPanel.removeAll(); //removes all the stuff inside
我会成功的。我建议您重命名一些内容,这样您就不会混淆布局、面板和组件。

我可以解决以下问题:

我可以解决这个问题:


我只能清理
BorderLayout.CENTER
?我只能清理
BorderLayout.CENTER
?我只能清理
BorderLayout.CENTER
?我只能清理
BorderLayout.CENTER
?remove()删除单个组件。removeAll()删除所有组件。@donnyton(我对awt和swing知之甚少)是的,但“removeAll”方法删除了整个布局,我只需要清除中心。如果我用“removeAll”删除了所有内容,则无法工作。可能是因为这个糟糕的示例,代码太大,无法将其放入allremove()中。allremove()删除单个组件。removeAll()删除所有组件。@donnyton(我对awt和swing知之甚少)是的,但“removeAll”方法删除了整个布局,我只需要清除中心。如果我用“removeAll”删除了所有内容,则无法工作。可能是这个糟糕的例子,代码太大了,放不下所有的东西