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

Agents de placement/Fenêtres Java Discussion :

[JDialog] dispose ne marche pas


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Par défaut [JDialog] dispose ne marche pas
    Bonjour,

    J'ai fait une JDialog comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    addWindowListener(new WindowAdapter()
            {
                public void windowDeiconified(java.awt.event.WindowEvent e){}
                public void windowIconified(WindowEvent e){}
                public void windowActivated(WindowEvent e){}
                public void windowDeactivated(WindowEvent e){setVisible(true);requestFocus();}
                public void windowClosing(WindowEvent e){}
                public void	windowClosed(WindowEvent e){}
                public void windowLostFocus(WindowEvent e){}
            });
            setUndecorated(true);
            pack();
            setResizable(false);
            setLocationRelativeTo(this.getParent());
    Quand j'en ai fini avec elle, je fais appelle à la méthode dispose. Mais rien ne se passe. Elle reste tout en premier plan.

    Avez vous une idée de mon erreur ?

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Par défaut
    As tu essayé en utilisant la méthode JDialog.setVisible(false) ?

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Le setVisible() permettra juste de ne plus voir la JDialog mais celle-ci existera toujours jusqu'à la fin du programme.

    Donc il faut utiliser la méthode dispose().

    ps : pour en revenir à ton souci quand même

    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
     
    addWindowListener(new WindowAdapter()
            {
                public void windowDeiconified(java.awt.event.WindowEvent e){}
                public void windowIconified(WindowEvent e){}
                public void windowActivated(WindowEvent e){}
                //public void windowDeactivated(WindowEvent e){setVisible(true);requestFocus();} /*ton erreur est ici*/
                public void windowClosing(WindowEvent e){}
                public void	windowClosed(WindowEvent e){}
                public void windowLostFocus(WindowEvent e){}
            });
            setUndecorated(true);
            pack();
            setResizable(false);
            setLocationRelativeTo(this.getParent());
    A chaque événement sur ta JDialog, tu appelais la méthode windowDeactivated et tu rendais alors ta JDialog visible d'où le souci.

    Peut être voulais tu mettre ce code dans la méthode windowActivated ??

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 57
    Par défaut
    +1, je crois que ma réponse étais un peu trop précipitée

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 67
    Par défaut
    Non, je veux avoir une fenêtre qui reste en avant.
    Mais effectivement si j'enlève ce morceau de code tout marche.
    J'ai trouvé une solution, pas très propre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    addWindowListener(new WindowAdapter()
            {
                public void windowDeiconified(java.awt.event.WindowEvent e){}
                public void windowIconified(WindowEvent e){}
                public void windowActivated(WindowEvent e){}
                public void windowDeactivated(WindowEvent e){if(fermeture==false){setVisible(true);requestFocus();}}
                public void windowClosing(WindowEvent e){}
                public void	windowClosed(WindowEvent e){}
                public void windowLostFocus(WindowEvent e){}
            });
            setUndecorated(true);
            pack();
            setResizable(false);
            setLocationRelativeTo(this.getParent());

Discussions similaires

  1. Dispose() ne marche pas dans le listener ?
    Par elfive dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 07/05/2009, 19h39
  2. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  3. Réponses: 9
    Dernier message: 07/05/2003, 12h57
  4. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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