如果通过单击 windows taskbar -> close window
强制关闭 java 窗口
,我如何检测?
我发现要关闭的窗口会收到 WINDOW_CLOSING
事件,可以通过添加 windowListener
来处理该事件。但在这种情况下,窗口无论如何都会被关闭。有什么办法可以防止窗口关闭吗?
最佳答案
您可以将默认关闭操作设置为 DO_NOTHING_ON_CLOSE
并要求用户进行确认。这是一种很常见的做法,即使您想通过 X 按钮、组合键(即:ALT + F4)或任何关闭窗口的方法关闭框架:
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();
}
}
});
关于java - 如果通过 Windows 任务栏强制关闭窗口则阻止窗口关闭 -> 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180131/