删除Jframe面板

时间:2014-03-26 03:21:07

标签: java swing jpanel frame clear

JFrame frame1 = new JFrame("frame");
frame1.setVisible(true);
frame1.setPreferredSize(new Dimension(800, 600));
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel Panel1 = new JPanel();
JPanel Panel2 = new JPanel();
frame1.add(Panel1,BorderLayout.SOUTH);
frame1.add(Panel2,BorderLayout.North);

我如何做这样的事情,如果发生某些事情,那么这个框架就是空白

if(SOMETHINGHAPPENS)
   {
     //remove all panels from frame 1 so i have a blank frame 
    //now i want to add some new panels
   }

2 个答案:

答案 0 :(得分:4)

简单回答,不要。

相反,请在JFrame

上使用CardLayout

这将允许您设置一系列"视图"您可以根据需要切换

答案 1 :(得分:0)

试试thisJframe.remove(JPanel)。然后拨打JFrame.pack() ,并且可能JFrame.repaint()以便在必要时刷新图形。

JPanel扩展了JComponent,所以它应该可以正常工作。请记住在上面的代码中用您使用方法的框架/面板的名称替换JFrame和JPanel。