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 :

[ SWING ] Fermer une fenêtre


Sujet :

AWT/Swing Java

  1. #1
    Invité
    Invité(e)
    Par défaut [ SWING ] Fermer une fenêtre
    Bonjour,

    J'ai une classe qui crée un JFrame.
    Une autre classe crée un JMenuBar.
    Sur un JMenuItem je veux affecter l'action de fermeture de ma fenêtre. Mais je ne vois pas comment lui faire fermer la fenêtre dans laquelle il est.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        JMenuItem file_close = new JMenuItem("Fermer");
            file_close.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    ?????????
                }
            });
    Merci

  2. #2
    Membre actif Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Points : 288
    Points
    288
    Par défaut
    Tu dois avoir un référence à la fenêtre et tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre.dispose();
    Si le bout de code que tu as montré ne se trouve pas dans ta classe fenêtre, tu n'as qu'à la passer comme paramètre au constructeur de ta classe et la conserver en attribut.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui, ..

    Mais ici dans le construcetur de fenêtre je fait setJMenuBar(new MenuBar());

    j'ai pas d'autres solutions que de faire comme tu le dis ?

  4. #4
    Membre actif Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Points : 288
    Points
    288
    Par défaut
    Tu peux peut-être essayer de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((JFrame)getParent()).dispose();
    Mais je te garantis rien, il faut être sûr que le getParent te retourne bien ta fenêtre. Tu peux tester en affichant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(getParent());

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je vais regaredr getParent().
    Sinon ta premiére méthode fonctione parfaitement MAIS :
    La méthode dispose() restitue les ressources au système. Les ressources libérées ne concernent que les objets utilisés pour la construction de l'image, les différents composants que vous avez placés dans la fenêtre restent en mémoire comme n'importe quel autre objet.
    Donc si je fais fenetre.dispose() et que fenêtre représente mon application, elle n'est pas réellement fermée ?

  6. #6
    Membre actif Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Points : 288
    Points
    288
    Par défaut
    Si, si, elle est femée complétement, car les autres composants seront supprimés par le garbage collector lorsqu'il constatera qu'il n'y a plus de rien qui pointe sur eux. Merci garbage collector

  7. #7
    Invité
    Invité(e)
    Par défaut
    ok, merci

    Comme tu dis "Merci Garbage Collector"

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

Discussions similaires

  1. [Swing] fermer une fenetre enfant avec un bouton.
    Par TheSeb dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/11/2013, 13h42
  2. [Delphi 6] Empêcher l'ouverture ou fermer une fenêtre
    Par KrusK dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 08/09/2005, 12h55
  3. Fermer une fenêtre depuis une autre...
    Par nicolb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2005, 11h22
  4. 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, 23h09
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 19h25

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