如果点击java window closing
强制使用windows taskbar -> close window
,我如何检测到它?
我发现要关闭的窗口会收到可以通过添加WINDOW_CLOSING
来处理的windowListener
事件。但在这种情况下,窗口无论如何都会被关闭。有什么方法可以阻止窗口关闭吗?
答案 0 :(得分:1)
您可以将默认关闭操作设置为DO_NOTHING_ON_CLOSE
,并要求用户进行确认。即使您想通过X按钮,组合键(即: ALT + F4 )或任何关闭窗口的方法关闭框架,这是一种非常常见的做法: / p>
JFrame frame = new JFrame("Welcome!");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int option = JOptionPane.showConfirmDialog(null, "Do you really want to exit?");
if (option == JOptionPane.OK_OPTION) {
e.getWindow().dispose();
}
}
});
答案 1 :(得分:0)
为了防止关闭窗口,您应该致电
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)
在您的JFrame实例上,然后通过windowListener实现替代关闭过程。