java - piloter - vba internet explorer 11




Java: JFrame sur les actions de fermeture se ferme de toute façon même si "Non" est cliqué (2)

Savez-vous pourquoi mon JFrame se ferme anbyway même si je clique sur le bouton "Non"? C'est mon code:

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);
            }
        }
    });

Je l'ai trouvé dans plusieurs forums et ils disent que ça marche ... Où est l'erreur?


Vérifiez si vous avez défini une opération de fermeture par défaut comme,

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

même si vous ne l'avez pas fait, votre cadre se cache (l'opération de fermeture par défaut est HIDE_ON_CLOSE ) en cliquant sur "Non".

à la place, ajoutez ceci comme opération de fermeture par défaut.

jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

Cela gardera votre cadre dans l'état existant, si un utilisateur choisit l'option "Non".


Vous êtes déjà dans un événement windowClosing , qui n'est pas annulé. Donc la fenêtre sera fermée.

Cela fait longtemps, mais vous pouvez probablement annuler l'événement en utilisant windowEvent .





windowlistener