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 :

aucun contrôle dans un JOptionPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 120
    Par défaut aucun contrôle dans un JOptionPane
    Bonjour,

    Dans une application que je développe actuellement, je suis amené à afficher un JOptionPane lorsque l'utilisateur quitte celle-ci.

    Voici le code exécuté lorsque l'utilisateur cherche à fermer la fenêtre : quand il clique sur "OUI", on enregistre, sur "NON", on quitte sans enregistrer, sur "ANNULER", on reste dans l'application. Pour les deux premiers, pas de soucis, par contre, quand je clique sur "ANNULER" l'application se ferme systématiquement

    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
     
    if (!projectSaved )
    {
    	int c = JOptionPane.showConfirmDialog(null,"Do you want to save   your project?", "Save",JOptionPane.YES_NO_CANCEL_OPTION);
     
    	System.out.println(c);
     
    	switch (c)
    	{
    		case 0 :
    		if(projectSaved)
    		{
    			saveSelection();
    		}
    		else
    		{
    			saveProjectAsMenuItem_action(null);
    		}
    		this.dispose();
    		break;
     
    		case 1 :
    		this.dispose();
    		break;
     
    		case 2 :
    		System.out.println("kikoo");
    		break;
     
    		default :
    		break;
    	}
    }
    else
    	this.dispose();

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    bonjour,

    Ton code est correct. Ca ne vient pas de la.

    Je suppose que tu utilise un WindowLisener. Que le code que tu nous a donner est exécuter dans le public void windowClosing(WindowEvent e);

    As-tu paramétré la désactivation de la sorti de ton dialogue ? Si tu ne l'as pas fait, lorsque ton programme arrive à la fin de l'évènement, la frame est rendu invisible, mais ton appli n'est cependant pas arrêté. Bien que le fait de ne plus avoir ton écran puisse te le laisser croire.

    Essai de mettre dans le constructeur de ta JFrame :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 120
    Par défaut Merci
    Merci beaucoup, le problème est réglé!
    Je n'y aurais jamais pensé, merci beaucoup

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

Discussions similaires

  1. Problème pour afficher un contrôle dans un formulaire
    Par JahRastafari dans le forum IHM
    Réponses: 5
    Dernier message: 16/06/2005, 10h15
  2. Réponses: 1
    Dernier message: 06/04/2005, 15h09
  3. Réponses: 6
    Dernier message: 25/10/2004, 09h51
  4. Réponses: 2
    Dernier message: 13/10/2004, 15h32
  5. Ajouter des contrôles dans la palette des contrôles.
    Par WOLO Laurent dans le forum MFC
    Réponses: 4
    Dernier message: 22/01/2004, 08h27

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