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 :

bouton quitter et fermeture d'une des fenetres


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut bouton quitter et fermeture d'une des fenetres
    bonjour

    dans mon interface graphique, j'ai des boutons qui peuvent ouvrir de nouvelles fenetres. dans ces dernieres, j'aimerai kil existe un bouton "quitter" qui me permet de fermer la fenetre que l'on vien d'ouvrir sans pour autant fermer completement l'application, afin de revenir a la page d'acceuil.
    je sais pas si c'est possible de faire ça.
    j'ai essayer avec " System.exit(0)" mais ça me ferme tout....

    par avance merci pour les reponses

  2. #2
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    oui bien sur c possible

    tu fais un bouton

    avec JFrame.dispose() ou close();
    Plzzz pas de questions par MP.

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par chloep
    j'ai essayer avec " System.exit(0)" mais ça me ferme tout....
    Ben, c'est un peu normal, dans la Javadoc on peut lire ceci :
    http://javasearch.developpez.com/j2s....html#exit(int)

    Terminates the currently running Java Virtual Machine.
    Si tu veux fermer une fenêtre, ne quitte pas l'application entière !!!

    Regarde du coté des méthodes setVisible() ou dispose() de ta fenêtre...

    a++

  4. #4
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Essaie plutôt un petit setVisible(false)

  5. #5
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    non le setvisible n'est pas la bonne solution

    excuse moi pour ste balgounette

    je t'ai mis ce qu'il te faut o premier post

    Plzzz pas de questions par MP.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 31
    Points : 35
    Points
    35
    Par défaut
    Effectivement la meilleure solution est la méthode "dispose()"

    La méthode setVisible(false) a le désavantage de garder la fenêtre instantiée. Cela prend de la mémoire: c'est donc à éviter dans la plupart des cas. Cependant pour certains cas très spécifiques, ça peut être utile........(exemple aller-retour entre 2 fenêtres en gardant les infos de l'utilisateur, etc...)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    bon, j'ai essayé avec le
    "JFrame.dispose()" ou "JFrame.close()" (avec le nom de ma fenetre... j'y ai penser.. de toute maniere sinon ça marche pas non plus! )
    mais ça ne fait rien du tout....

    meme si c t pas la bonne solution, g aussi essayé le setVisible(false), mais ça ne change rien au resultat.....

    bon mon bouton, j'ai mis un System.out.println, donc je sais ke le clik de souris marche bien....

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par mitch 007
    Effectivement la meilleure solution est la méthode "dispose()"
    j'vien de penser... il faut p'etre que je la créais cette methode dans la fenetre ke je veux fermer??
    en meme tps, j'aurai des message d'erreur si c t la cas? non??

  9. #9
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    allez fait péter ton code de ta Frame !!!
    Plzzz pas de questions par MP.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    bon, il fait plus de 9 pages! !!! lol donc je ne vais y mettre que ce ke je pense utile!!!



    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
     
    public class AfficheFenetre extends JFrame implements ItemListener, ActionListener{
     
    JButton bouton = new JButton("Valider") ;
    JButton bouton2 = new JButton("Retour page d'acceuil") ; // bouton pour fermer la fenetre
    JFrame frame = new JFrame();
     
    AfficheFenetre(){
    add(bouton);
    bouton.addActionListener(this);
     
    add(bouton2);
    bouton2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    frame.dispose();
    }});
    }
    .....
     
    public void Affiche(){      // methode qui me permet de lancer ma fenetre d'une autre classe 
     
    AfficheFenetre fenetre = new AfficheFenetre();
    JFrame frame=new JFrame();
    frame.setVisible(true);
    frame.setSize(950,450);
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    C'est normal que cela ne marche pas !!!!

    Tu crée trois fenêtres, tu en affiches une et tu en fermes une autre !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame frame = new JFrame();
    Ta classe AfficheFenetre est déjà une JFrame ? Pourquoi contient-elle une autre JFrame ?



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void Affiche(){      // methode qui me permet de lancer ma fenetre d'une autre classe 
     
    AfficheFenetre fenetre = new AfficheFenetre();
    JFrame frame=new JFrame();
    frame.setVisible(true);
    frame.setSize(950,450);
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    Pourquoi crées-tu deux fenêtres dans cette méthode (fenetre et frame) ?


    Il faudrait peut-être revoir les notions d'OO...

    a++

  12. #12
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    PIewwww
    Je supposes que c la premiere fois que tu touches du java et que tu pars en autodidacte ??

    ah tu devrais éviter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame implements mesListener
    ça devrait faire

    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
    import java.awt.event;
     
    public class afficheFenetre {
     
    private final ActionListener actionQuitter = new ActionQuitter();
    private JFrame frame;
    private Button Quitter;
    public Affiche(){
     
    frame = new Frame("fenetre");
    Quitter = new Button("Quitter");
    frame.add(Quitter);
    Quitter.addActionListener(actionQuitter);
     
    public class ActionQuitter implements ActionListener {
    public void actionPerformed (ActionEvent ev){
    frame.dispose();
    }
    }
    }
    }
    Allez bon courage
    Plzzz pas de questions par MP.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par adiGuba
    Ta classe AfficheFenetre est déjà une JFrame ? Pourquoi contient-elle une autre JFrame ?
    en effet, c une bonne question.. a laquelle je ne saurai repondre que par... ça marchais comme ça!! lol
    non c'est juste une erreur d'attention, au depart la fenetre s'affichait seul via son main, et j'ai fait des modif par la suite.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par LeXo
    PIewwww
    Je supposes que c la premiere fois que tu touches du java et que tu pars en autodidacte ??
    euh... non pas trop la 1ere fois.. mais ça fait pas tres longtps en effet...
    on ma appris ça comme ça alors j'applique!!! lol

    merci pour la correction, j'vais aller essayer ça!!!

  15. #15
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    j'ai enlevé le
    extends JFrame
    et me suis trompé dans l'instanciation de l'écouteur

    tu regarderas bien j'ai remis o propre
    Plzzz pas de questions par MP.

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    bon, ça ne fonctionne pas tout a fait comme je le voudrais.. mais forcement il faut que je réintegre ce p'tit bout de code a mon grand bout de code a moi!!!
    alors j'vais mettre tout a ça a plat, et je reviendrai ça va pas tjs pas mieux!!!!!

  17. #17
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    est ce que ma réponse répond a ta question : comment fermer un JFrame ?
    Plzzz pas de questions par MP.

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    bon bah apres plusieurs tentative.... ça ne marchai tjs pas...
    alors j'efface tout ce ke j'avai marqué, et je reecri le fameux
    "frame.dispose()"
    et la oh miracle ça marche...
    on ne va pas trop chercher a comprendre, mais bon, je pense k'en effet je devais avoir des pb de duplication de fenetre ou un truc dans le genre... mais peu importe, l'essentiel c que maintenant ça marche comme je voulais!!

    merci pour votre aide

  19. #19
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    En informatique, "ca ne marche pas" ne signifie pas grand chose... Il se passe toujours quelque chose, et c'est en comprenant ce qu'il se passe qu'on comprends pourquoi on a pas le comportement souhaité... Il est donc plus intéressant de nous dire ce qu'il se passe, qu'un simple "ca ne marche pas"...

    Quant au dispose(), ça fait pas mal de temps que tout le monde te le dit, je ne comprends pas ce que tu as fait en attendant, mais j'ai pas l'impression que tu aies écouté tous ceux qui ont essayé de t'aider... et j'ai pas l'impression que tu as compris ce que tu as écrit...

    Bref, je te souhaite un énorme courage, car en programmant des trucs, sans les comprendre, je peine à imaginer les futurs problèmes que tu rencontreras...

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Claythest
    En informatique, "ca ne marche pas" ne signifie pas grand chose... Il se passe toujours quelque chose, et c'est en comprenant ce qu'il se passe qu'on comprends pourquoi on a pas le comportement souhaité... Il est donc plus intéressant de nous dire ce qu'il se passe, qu'un simple "ca ne marche pas"...
    "ça ne marche pas" => ça faisait pas ce ke je voulais, j'dirai meme pas ça faisai rien de visisble...


    Quant au dispose(), ça fait pas mal de temps que tout le monde te le dit, je ne comprends pas ce que tu as fait en attendant, mais j'ai pas l'impression que tu aies écouté tous ceux qui ont essayé de t'aider...
    oui, je sais on me l'avais dis, j'avais essayer, mais c pas pour autant que le pb etait resolu, alors j'ai tourné les solutions dans tous les sens...!!!

    Bref, je te souhaite un énorme courage, car en programmant des trucs, sans les comprendre, je peine à imaginer les futurs problèmes que tu rencontreras...
    merci.
    c'est vrai que ça fait pas tres longtps que je touche a la prog, et j'essai de me depatouillé comme je peux.
    j'ai jamais dis que j'etait une "grande" informaticienne...
    apres p'etre ke mon code n'est pas "joli" mais tant kil fait ce ke je lui demande... j'pense ke c l'essentiel...

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

Discussions similaires

  1. bouton entrainant l'apparition d'une autre fenetre
    Par thierry_b dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 07/07/2009, 15h14
  2. 2 figures, fermeture d'une des deux
    Par speedy_g dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 04/02/2008, 09h56
  3. Réponses: 1
    Dernier message: 08/12/2007, 11h35
  4. Fermeture d'une seul fenetre parmi plusisieur
    Par gailup dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 03/02/2007, 21h19
  5. get => pointeur null apres fermeture d'une sous-fenetre
    Par gorgonite dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 11/02/2006, 21h42

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