通过一个.remove()删除其直接的控件。然后重绘重绘。
最后需要更新的JFrame窗口,进行刷新。
方法1.重新显示窗口
frame.setVisible(false);
frame.setVisible(true);
方法2.重新验证窗体
frame.invalidate();
frame.validate();
方法3.重置窗口大小
frame.pack();
frame.setSize(1000,600);
并且对GUI的操作只能在事件调度线程上执行GUI操作。这意味着您无法在“主线程”中更改框架(例如添加/删除面板),必须通过SwingUtilities.invokeAndWait
方法。如果不这样做,那么各种各样奇怪的事情都会发生。
public static void main(String[] args) throws InvocationTargetException, InterruptedException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
//更新的操作
}
});
}