你知道为什么我的JFrame关闭了,即使我点击了" No"按钮?这是我的代码:
jframe.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
int confirm = JOptionPane.showOptionDialog(jframe,
"Sei sicuro di voler chiudere EconomatoUTL?",
"Attenzione!", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE, null, null, null);
if (confirm == JOptionPane.YES_OPTION) {
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("cmd /C basexserver.bat stop");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.exit(1);
}
}
});
我在几个论坛上发现它并说它有效...... 哪里出错?
答案 0 :(得分:3)
检查是否设置了默认关闭操作,如
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
即使你还没有,你的框架只会在点击" No"时隐藏(默认关闭操作为HIDE_ON_CLOSE
)。选项。
而是将其添加为默认关闭操作。
jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
如果用户选择"否"这将使您的框架保持现有状态。选项。
答案 1 :(得分:1)
您已进入windowClosing
事件,但未取消。所以窗口将会关闭。
已经有一段时间了,但您可以使用windowEvent
取消活动。