IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Confirmation de fermeture d'une fenêtre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut Confirmation de fermeture d'une fenêtre
    Salut,

    La fermeture d'une de mes fenetres doit entraîner la fermeture de l'application. Je veux que l'utilisateur confirme son choix. J'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      addWindowListener(new WindowAdapter()
      	{ 
    	public void windowClosing(WindowEvent e)
    		{
    		if (JOptionPane.showConfirmDialog(thisChart,"Do you really want to quit ?", "Alert", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION)
    			{
    			dispose(); 
    			System.exit(0);
    			}
    		} 
    	});
    Ca marche très bien quand l'utilisateur choisit de YES, mais s'il choisit NO, la fenêtre est tout de même fermée...

    Comment empêcher la fermeture de la fenêtre ?

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Bonsoir, je te propose cette solution, ce n'est peut être pas la meilleure mais bon ca devrait marcher

    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
     
    addWindowListener(new WindowAdapter()
      	{ 
    	public void windowClosing(WindowEvent e)
    		{
    int reponse = JOptionPane.showConfirmDialog(thisChart,"Do you really want to  quit ?", "Alert", JOptionPane.YES_NO_OPTION);
    	  if (reponse == JOptionPane.YES_OPTION) 
              {
                         dispose(); 
                         System.exit(0);
              }
              else if (reponse == JOptionPane.NO_OPTION)
              {
                         //traitement de ton non
              }
    	}
    });

  3. #3
    Membre expérimenté

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Bonjour,

    ajoute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFrame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Sorry boy,

    mais ça ne marche pas. Je viens d'essayer et la fenêtre est quand même fermée quand on choisit non.

    Another proposition ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Attends j'ai répondu en même temps que floflo. Bouge pas je vais voir avec ça je reviens tout de suite.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 12
    Par défaut
    Bonjour,

    regarde du coté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation ()
    La fonction est documentee ici :
    http://java.sun.com/javase/6/docs/ap...Operation(int)

    Et visiblement ca semble fonctionner : http://www.developpez.net/forums/sho...d.php?t=343701

    En esperant que ca pourra t'aider un peu

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut
    Yes,

    Impeccable. Il suffit de déclarer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)
    dans le constructeur de la fenêtre, et il n'y a plus de comportement par défaut du click dans la case de fermeture.

    Merci à tous.

    Pascal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evènement sur le body lors de la fermeture d'une fenêtre
    Par Yaz dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/09/2005, 17h54
  2. Exécuter une action à la fermeture d'une fenêtre
    Par wwave dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 28/07/2005, 15h15
  3. Fermeture d'une fenêtre .dos
    Par VirginieGE dans le forum Windows
    Réponses: 2
    Dernier message: 03/06/2005, 13h56
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. Arrêter un ttmt en cours, lors de la fermeture d'une fenêtre
    Par teska dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/12/2004, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo