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 fenetre enfant avec un bouton.


Sujet :

AWT/Swing Java

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Points : 1 655
    Points
    1 655
    Par défaut [Swing] fermer une fenetre enfant avec un bouton.
    Bonsoir,

    Je cherche a savoir comment fermer une fenetre enfant (Jframe).
    System.exit.(0) quitte tout donc cela ne vas pas.
    Et setVisible(false) cela ne fait que cacher la fenetre.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Salut,
    je ne suis pas bien certain mais je crois que la methode dispose() est faite pour fermer la fenetre ... A verifier en tout cas .

  3. #3
    Membre averti
    Avatar de rozwel
    Inscrit en
    Mars 2002
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 324
    Points : 334
    Points
    334
    Par défaut
    Je confirme c'est bien dispose qui permet de faire ça...

    Bien que comme c'est indiqué dans la doc, techniquement ta fenêtre n'est pas définitivement perdue. Les ressources sont juste libérées mais rien ne t'empêche de la réafficher plus tard. Si tu veux vraiment la détruire purement et simplement, il faut aussi l'enlever du conteneur parent avec remove et détruire toute référence à la fenêtre enfant, comme ça au prochain passage du garbage collector, hop zou ya plus !

    Bon courage @+++
    Sébastien ARBOGAST
    SCJP

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Salut,

    Un peu tardif, mais ça peut toujours aider.

    J'ai eu à faire à ce problème, il faut changer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    Exemple de classe avec une option DISPOSE_ON_CLOSE :

    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
    public class ExampleDispose extends JFrame {
     
    	private JPanel contentPane;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					ExampleDispose frame = new ExampleDispose();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public ExampleDispose() {
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		contentPane.setLayout(new BorderLayout(0, 0));
    		setContentPane(contentPane);
    	}
     
    }
    Si on appelle de notre programme la classe ExampleDispose ci dessus, ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ExampleDispose ExDis = new ExampleDispose();
    ExDis.setVisible(true);

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

Discussions similaires

  1. comment fermer une fenetre enfant ?
    Par noobyyy dans le forum C#
    Réponses: 7
    Dernier message: 16/11/2010, 11h52
  2. Fermer une application Web avec un bouton
    Par luilui dans le forum Flex
    Réponses: 5
    Dernier message: 14/10/2009, 16h12
  3. Réponses: 2
    Dernier message: 08/07/2009, 11h07
  4. comment fermer une fenetre enfant
    Par stefane1981 dans le forum MFC
    Réponses: 12
    Dernier message: 20/10/2005, 11h32
  5. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17

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