【发布时间】:2016-12-27 10:15:51
【问题描述】:
我正在尝试,当用户尝试以正常方式关闭窗口(单击 X)时,会出现一个弹出窗口,显示“您确定要关闭此窗口吗?”然后如果他选择“否”,我希望窗口不要关闭,无论他选择是还是否,它都会关闭。
我当前的监听器代码是:
frmContactarEspecialista.addWindowListener(new FrameWindowListener());
private class FrameWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent arg0) {
int salir = JOptionPane.showOptionDialog(frmContactarEspecialista, "Si cierra esta ventana se descartará el email, ¿continuar?", "Salir",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
if (salir != 0){
}
}
}
将我的帖子标记为重复后,我已经尝试过:
private class FrameWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent arg0) {
int salir = JOptionPane.showConfirmDialog(frmContactarEspecialista, "Si cierra esta ventana se descartará el email, ¿continuar?", "Salir",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (salir == JOptionPane.NO_OPTION) {
System.out.println("do nothing");
}
}
}
它会打印"do nothing",但仍会关闭窗口。
我应该更改或放入if 以使其不会关闭窗口?
谢谢
【问题讨论】:
-
嗨@IginoBoffa,我试过了,它一直在关闭,另外我想知道在 dispose() 方法中放什么
-
首先你应该设置你的框架像 jFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
-
好的,@newuserua_ext 选择“是”时我必须在 if now 中添加什么?
-
如果是,你应该调用 dispose();或 System.exit(0) 方法。