Le but de mon code est d'obtenir la saisie de l'utilisateur et lorsque l'utilisateur souhaite enregistrer les données, ils pressent l'option OK. Cependant, si l'utilisateur a entré des données et qu'il n'a plus envie de continuer, il suffit d'appuyer sur le bouton de sortie de la croix rouge dans le coin supérieur droit pour quitter sans sauvegarder.Comment puis-je détecter si un utilisateur ferme la fenêtre via la croix rouge?
Comment procéder?
Voici mon code:
JOptionPane.showMessageDialog(null, myPanel, "Edit Fruit", JOptionPane.INFORMATION_MESSAGE);
...
if (!(JOptionPane.OK_OPTION))
{
//If the user exits the option pane via the red cross, exit the loop.
break;
}
EDIT: Ce code ne fonctionne pas comme je suis à la recherche que quand un JOptionPane.showMessageDialog
est fermé par la croix et non un bouton OK rouge:
addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent e)
{
System.out.println("Closed");
e.getWindow().dispose();
}
});
Le code s'exécute même lorsque j'appuie sur l'option OK dans mon JOptionPane. Je veux seulement écouter la sortie via la croix rouge.
Merci pour votre aide.
Que voulez-vous réaliser? Je ne vois pas de question. Vous voulez le détecter et ensuite? – FaithReaper
La question est mon titre, mon programme n'est pas pertinent pour cette question. Mais je voudrais casser ma boucle for, comme mentionné dans mon extrait de code. – juiceb0xk
Une recherche rapide dans Google avec «swing window close listener» me dirige à cette réponse: http://stackoverflow.com/questions/16295942/java-swing-adding-action-listener-for-exit-on-close – FaithReaper