关闭窗口后,我想创建一个类的对象并执行任务。关闭后:
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
我该怎么做才能在窗口关闭后立即开始新操作?请帮忙。
关闭窗口后,我想创建一个类的对象并执行任务。关闭后:
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
我该怎么做才能在窗口关闭后立即开始新操作?请帮忙。
当用户尝试关闭 aJFrame时,会发生以下事件:
windowClosing方法。WindowListenersetDefaultCloseOperation触发指定的动作。有 4 个默认关闭操作:
……什么都不做。框架还在这里,很高兴地忽略了您关闭它的请求。
setVisible(false)与调用框架的效果相同。框架变得不可见,并且可以通过调用再次显示setVisible(true)。
dispose()与调用框架的效果相同。效果有点类似于HIDE_ON_CLOSE,不同的是这次释放了frame使用的OS资源。setVisible(true)如果您想让框架再次出现,您仍然可以再次调用。
调用在该帧上注册的 s的windowClosed方法。WindowListener
另外,请注意,当最后一个可显示窗口被处理掉时,您的程序可能会终止。
与调用相同的效果System.exit()。
因此,如果您想完全控制用户尝试关闭框架时发生的情况,请将默认操作设置为 DO_NOTHING_ON_CLOSE,并将您的代码windowClosing放入WindowListener. 在那里,您可以调用 setVisible(false)、dispose() 或 System.exit(),具体取决于您想要实现的目标。
您还可以将默认操作设置为隐藏、处置或关闭时退出,并将您的代码windowClosing放在WindowListener. 在这种情况下,将首先调用侦听器,然后无论如何都会执行所选操作。
最后,您还可以将默认操作设置为 DISPOSE_ON_CLOSE,并将您的代码windowClosed放在WindowListener. 这样,首先处理框架(它从屏幕上消失),然后执行您的代码。
称呼
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
并为关闭事件注册一个监听器:
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
JFrame frame = (JFrame)e.getSource();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// additional code here
}
});
After i close my window,i want to create an object of a class and preform a task.
看着
HIDE_ON_CLOSEsimplair as setVisible(false);,容器是可重复使用的,可以通过调用来显示它setVisible(true);
或者您可以调用dispose(),这意味着此容器不可重复使用,必须isDisplayable()在调用之前检查setVisible(true);
我想创建一个类的对象并执行一个任务