Swing - 根据弹出窗口选择关闭框架(窗口)或不关闭

时间:2016-12-27 10:15:51

标签: java swing

我正在尝试当用户尝试以正常方式关闭窗口时(单击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,以便它不会关闭窗口?

由于

1 个答案:

答案 0 :(得分:0)

我找到了答案! 首先,你必须在你的框架中添加一些东西。

if(salir != 0){
    nameofyourframe.dispose();
}

因此,当您按X时,窗口根本不会关闭。 现在让我们去听听。

var firstArray=["Mike","Jack"];
var secondArray=["Mike","Jack","Andy","Cruz"];

var result = secondArray.filter(a => firstArray.some(b => a === b));

console.log(result);

所以,如果答案是肯定的,它会关闭你的程序和窗口,如果没有任何结果会发生!