拆除Jframe面板

问题描述 投票:1回答:2
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
   }
java swing jpanel frame
2个回答
4
投票

简单的答案,不要。

相反,使用一个 CardLayout 在...上 JFrame

这将允许你设置一系列的 "视图",你可以根据需要进行切换。


0
投票

试试 这个. Jframe.remove(JPanel). 然后调用 JFrame.pack(),也可能是 JFrame.repaint() 以便在必要时刷新图形。

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

© www.soinside.com 2019 - 2024. All rights reserved.