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 :

Comment fermer ma fenêtre secondaire ?


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut Comment fermer ma fenêtre secondaire ?
    Bonjour, j'ai une fenêtre principale avec un menu. A travers mon menu j'accède à une autre fenêtre. Dans cette nouvelle fenêtre, j'ai 3 JPanel dont un qui contient un bouton Ok. J'aimerais fermer cette fenêtre en cliquant sur ce bouton sans fermer la fenêtre principale.
    Le problème, c'est que je n'ai pas accès dans le ActionPerformed à ma fenêtre secondaire (celle que je veux fermer) donc je ne peux pas utiliser la fonction maJFrame.dispose();
    Voici mon code, cela sera plus explicite.
    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
     
    public class PanelBoutonOk extends JPanel implements ActionListener
    {
        JButton ok = new JButton("Ok");
        public PanelBoutonOk()  //Constructeur
        {
            ok.addActionListener(this);
            add(ok);
        }
        public void actionPerformed(ActionEvent e) 
        {
            Object s = (JButton)e.getSource();
            if((JButton)s == ok)
            {
                //F.dispose(); // Il ne trouve pas la JFrame secondaire.
                System.out.println("Bouton ok clické");
            }    
        }
    }
    Merci d'avance pour votre aide.
    bonne soirée

  2. #2
    Membre averti
    Inscrit en
    Août 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 22
    Par défaut
    Salut.

    Essaye this.close() peut-être..

  3. #3
    Membre averti
    Inscrit en
    Août 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 22
    Par défaut
    this.dispose() pardon !!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Non, ca ne marche pas. Le this se réfère à un JPanel dans mon exemplaire, c'est pour cela que ca foire mais je te remercie quand même pour ta réponse.

  5. #5
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Bonsoir,

    En partant de this qui est ton panel tu peux pas en faisant des getParent() remonter jusqu'a ta Jframe pour la fermer... c'est peut etre pas la meilleur solution mais ca devrai marcher.

    Un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while (!this.getParent() instanceof JFrame){
    Component = this.getParent();
    }
    ((JFrame)Component).dispose();

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    C'est possible que cela marche, effectivement.
    Cependant, j'ai un petit problème, il ne veut pas reconnaître le "!" car il me dit : "The operator ! is undefined for the type(s) Container".
    Et si je met cette ligne de code :
    while(!(this.getParent() instanceof JFrame)){ ... }
    ca ne marche pas non plus.
    Comment faire ?
    Merci...

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

Discussions similaires

  1. Comment fermer une fenêtre externe à l'application ?
    Par Matt2094 dans le forum Delphi
    Réponses: 8
    Dernier message: 30/08/2006, 16h52
  2. comment fermer la fenêtre principale sous IE ?
    Par renaudjuif dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2006, 14h31
  3. Comment fermer une fenêtre dynamique avec onclose
    Par nopnop dans le forum Delphi
    Réponses: 23
    Dernier message: 18/07/2006, 18h08
  4. Comment fermer une fenêtre enfant MDI ?
    Par DeveloMagaly dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2005, 13h10
  5. Comment fermer une fenêtre quand la souris et clavier sont inactifs ?
    Par Goldenkiller dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/12/2004, 22h09

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