Événement de la fermeture d'une fenêtre [Résolu]

Signaler
Messages postés
112
Date d'inscription
dimanche 6 juin 2004
Statut
Membre
Dernière intervention
19 septembre 2007
-
Messages postés
112
Date d'inscription
dimanche 6 juin 2004
Statut
Membre
Dernière intervention
19 septembre 2007
-
Bonjour, je voudrais afficher un message de confirmation lorsque l'utilisateur clique sur la croix rouge de la barre de menu. Il faut donc que je récupère l'événement de fermeture de la fenêtre mais je n'ai pas trouvé comment faire, quelqu'un pourrait-il m'éclairer sur  ce sujet ? :)

Merci à tous.

Vince

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Passe par un WindowListener à appliquer à ta JFrame, et intercepte l'événement windowClosing.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Il te suffit de ne pas lui dire de faire la fenêtre au closing (dans le constructeur de ta JFrame par exemple) :
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

Ce sera alors à toi de faire ce que t'as besoin de faire dans l'événement windowClosing par contre !
Messages postés
112
Date d'inscription
dimanche 6 juin 2004
Statut
Membre
Dernière intervention
19 septembre 2007

Bonjour et merci pour la réponse. Je viens d'implémenter un WindowListener comme tu me l'as suggéré. Cependant, cela ne fonctionne pas tout à fait comme je le souhaite, la méthode windowClosing est bien appelée à la fermeture de la fenêtre, mais après l'appel de cette méthode, la fenêtre se ferme automatiquement. Or, je voudrais contrôler cette fermeture via ma boite de dialogue qui s'ouvre. Il faudrait donc maintenant désactiver cette fermeture automatique de la fenêtre lors de l'appui sur la croix rouge... Ainsi, je pourrais contrôler moi-même la fermeture de l'application avec un System.exit(0).

Quelqu'un saurait-il comment faire ?

Vince
Messages postés
112
Date d'inscription
dimanche 6 juin 2004
Statut
Membre
Dernière intervention
19 septembre 2007

Ca marche nikel, merci beaucoup ! :)

Vince