Bonjour tout le monde,

Je fais une petite application en Java et je rencontre un problème avec mon interface graphique.
Sur mon interface principale qui doit rester toujours visible, sur la croix de fermeture de l'application j'ai mis un JOptionPane ou on doit cliquer sur confirmer pour fermer l'application. Cela fonctionne bien.
Le problème est que quand on clic sur la croix (pour ne pas confirmer la fermeture du programme) du JOptionPane celui-ci disparait (normal) ainsi que l'interface principale (pas normal) mais l'application n'est pas fermé juste hide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
 
class Interface extends JFrame{
 
    public JButton RMenbre;
 
    Interface(){
        super("Application AeroClub");
        setSize(500,150);
        Contenu();
        addWindowListener(new Message());
        setLocationRelativeTo(null);
        setVisible(true);
    }
    private void Contenu(){
        Container contentPane = getContentPane();
        GridBagLayout grille = new GridBagLayout();
        GridBagConstraints contraintes = new GridBagConstraints();
        contentPane.setLayout(grille);
        contraintes.gridy=1;
        contraintes.gridx=1;
        RMenbre = new JButton("Record Menbre");
        RMenbre.addActionListener(new RecordMenbre());
        grille.setConstraints(RMenbre,contraintes);
        contraintes.gridy=1;
        contraintes.gridx=2;
        JButton RMission = new JButton("Record Mission");
        RMission.addActionListener(new RecordMission());
        grille.setConstraints(RMission,contraintes);
        contraintes.gridx=3;
        contraintes.gridy=1;
        JButton BMenbre = new JButton("Bilan Menbre");
        BMenbre.addActionListener(new BilanMenbre());
        grille.setConstraints(BMenbre,contraintes);
        contraintes.gridx=4;
        contraintes.gridy=1;
        JButton BAvion = new JButton("Bilan Avion");
        BAvion.addActionListener(new BilanAvion());
        grille.setConstraints(BAvion,contraintes);
        contraintes.gridy=2;
        contraintes.gridx=1;
        contraintes.gridwidth=4;
        contraintes.fill=GridBagConstraints.HORIZONTAL;
        JButton Sortir = new JButton("Sortir");
        Sortir.addActionListener(new SortirButton());
        grille.setConstraints(Sortir,contraintes);
        add(RMenbre);
        add(RMission);
        add(BMenbre);
        add(BAvion);
        add(Sortir);
    }
 
    public void DSortir(){
        JOptionPane Joption = new JOptionPane();
        Object[] bouttons ={"Confirmer"};
        Object phrase = "Merci de votre confiance";
        int reponse = Joption.showOptionDialog(null,phrase,"Message",JOptionPane.YES_OPTION,JOptionPane.INFORMATION_MESSAGE,null,bouttons,bouttons[0]);
        if(reponse == Joption.YES_OPTION){
            dispose();
        }
        else{
 
        }
 
    }
class Message implements WindowListener {
        public void windowClosing(WindowEvent event2){
            DSortir();
        }
        public void windowActivated(WindowEvent event2){
 
        }
        public void windowClosed(WindowEvent event2){
 
        }
        public void windowDeactivated(WindowEvent event2){
 
        }
        public void windowDeiconified(WindowEvent event2){
 
        }
        public void windowIconified(WindowEvent event2){
 
        }
        public void windowOpened(WindowEvent event2){
 
        }
    }
}
Merci pour votre aide.