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 :

[ApplicationFrame][jfreechart]fermeture d'une fenetre


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é
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut [ApplicationFrame][jfreechart]fermeture d'une fenetre
    Bonjour a tous.

    Voila, j'ai une appli.

    Un bouton me permet d'afficher une deuxieme JFrame et je souhaiterais fermer juste cette 2e fenetre sans pour autant fermer la premiere a l'aide de la croix rouge. Je ne vois pas comment il faut fairecar j'aimerais eviter de rajouter un bouton sur ma fentre en lui appliquant la fonction dispose(), je veux juste le faire par la croix rouge.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Par défaut
    j'ai pas trés bien comprit mais je crois que tu devrai métre ça dans ta seconde fenètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WindowListener l = new WindowAdapter() {	public void windowClosing(WindowEvent e){f();}};
    addWindowListener(l);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 15
    Par défaut
    Je te mais exemple sachant que le this est une classe qui hérite de JFrame.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this.addWindowListener(new WindowAdapter(){
    	public void windowClosing(WindowListener e){
    		System.exit(0);
    	}
    });
    Normalement ça marche.

    Ou sinon tu mets ce qui suis, toujours pareil dans la classe qui hérite de JFrame.

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Bonne chance

  4. #4
    Membre éclairé Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Par défaut
    je croi qu'il ne veut pas quité son appli

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 34
    Par défaut
    Citation Envoyé par Radagast
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    a mon avis, ca conviendrait plus au pb énoncé.


    Sinon, pour les autres options dispos:
    http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html#setDefaultCloseOperation(int)

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Merci pour vos reponses, mais cela kill mon appli est ce que je voudrais, c'est juste fermer la fenetre en cours plutot que killer mon appli et toutes les fenetres qui en decoulent.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    Effectivement, en tout cas dans mes applications, la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    ferme uniquement la fenêtre, contrairement au EXIT_ON_CLOSE qui ferme l'application, es-tu sur d'avoir bien testé?

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    oui, g tres bien teste tout ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        public VueGenerale() 
        {
            super("Vue Générale des Employés");
    		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    		this.setExtendedState(Frame.MAXIMIZED_BOTH);
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
            CategoryDataset dataset = fonctions_annexes.TraitementEmpl.recupGraph("Normales","Attention");
            JFreeChart chart = createChart(dataset);
            ChartPanel chartPanel = new ChartPanel(chart, false);
            chartPanel.setPreferredSize(dim);
            setContentPane(chartPanel);
    		this.setVisible(true);
        }
    Voila le constructeur de mon application. Peut etr construis tu ton appli sur des threads, ce ke je ne fe pa (car je ne c po le faire)... ;-)

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    g egalement essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    et ca ne fonctionne pas non plus

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Par défaut
    Le setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) tu le fais bien sur ta nouvelle fenêtre, pas sur ta fenêtre principale.
    Le setDefaultCloseOperation s'applique uniquement à la fenêtre à laquelle tu l'applique pas à l'ensemble des fenêtres.
    le paramètre EXIT_ON_CLOSE permet de terminer l'application
    le paramètre DISPOSE_ON_CLOSE permet de détruire la fenêtre tout en continuant l'application
    le paramètre HIDE_ON_CLOSE permet de rendre invisible la fenêtre concernée (comme ca tu n'as pas besoin de la reconstruire mais ca prend plus de place en mémoire)
    le paramètre DO_NOTHING_ON_CLOSE rend inactif la croix en haut à droite de la fenêtre.

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Merci pour ces precions que javé deja u le courage de regarder dans la javadoc. Mais lorsque je ferme ma fenetre, mon appli se ferme, meme avec le this... qui devrait just prendr en compte cette fenetre enfin si g bien compris...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Par défaut
    Est ce que tu pourrais indiquer le bout de code avec lequel tu lance ta seconde fenêtre??
    C'est sur cette seconde fenêtre que tu dois faire le setDefaultCloseOperation (excuse moi si j'insiste mais avec le bout de code que tu as placé plus haut, j'ai l'impression que tu le fais sur la fenêtre principale).

  13. #13
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    voila, je cree une fenetre dans mon appli qui en fait place sur un gridbaglayout tout mes boutons sur lesquels st mis des ecouteurs et lorsque je clik sur d'eux, il me lance donc dans une nouvelle fentre...

    Voila le constructeur de cette premiere fenetre
    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 ApplicationGerant()
    	{
    		super("Accueil"); 
    		//Creation et parametrage de la fenetre 
    		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    		this.setTitle("accueil");
    		this.setSize(800,600);
    		this.setFont(f); //police
    		this.setBackground(Color.yellow); //couleur d'arriere plan
    		this.setForeground(Color.blue); // couleur de la police
    		this.setLocation(dim.width/2 - this.getWidth()/2, dim.height/2 - this.getHeight()/2-100);
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    		//Création de mon conteneur
    		Container contenu=this.getContentPane();
    		initGerant(contenu); 
    		//Affichage de ma fenetre
    		this.setVisible(true);
    	}
    et le code de la construction de ma nouvelle fenetre, celle ke j'aimerais fermer sans fermer celle-ci.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    C'est très étrange j'ai fait un petit programme:
    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
     
    import javax.swing.*;
     
    public class testfen extends JFrame
    {
    	public testfen()
    	{
    		this.setBounds(200,200,300,40);
    		this.setTitle("fenetre principale");
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
     
    		JFrame fen2 = new JFrame();
    		fen2.setBounds(200,300,300,40);
    		fen2.setTitle("fenetre secondaire");
    		fen2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		fen2.setVisible(true);
    	}
    	public static void main(String[] args)
    	{
    		new testfen();
    	}
     
    }
    et ca marche très bien avec un DISPOSE_ON_CLOSE...
    Pourrais-tu le tester? (juste pour voir...)

  15. #15
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Je viens d'essaye et c vré que ton exemple fonctione, je vais rajouter le code de mon actionPerformed pour vous aider un peu car je suis vrémen naz en programmation... et je crois ke l'utilisation de java est trè difficile pour faire bien... ;-)

    Voila donc mon actionPerformed pour lancer la fenetre que je ve fermer sans fermer l'autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    		if (e.getSource() == vuegen)
    		{
    			VueGenerale appli = new VueGenerale();
    		}
    Merci

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Par défaut
    essaie de faire ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (e.getSource() == vuegen) 
          { 
             VueGenerale appli = new VueGenerale();
             appli.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
             appli.setVisible(true);
          }
    En enlevant les deux lignes rajoutées du constructeur de VueGenerale

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    Je ne vois pas d'apres ton code ou pourrait etre le problème...
    La seule solution que je vois, c'est revérifier pour chaque fenêtre que tu as bien un setDefaultCloseOperation(machintruc_ON_CLOSE)
    , car si je me rappelle bien la valeur par défaut est EXIT_ON_CLOSE, et mets les tous a DISPOSE_ON_CLOSE.
    Une fois ca de fait, remet ceux dont tu veux que la valeur soit EXIT un par un et teste a chaque fois si ca marche...

  18. #18
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Toujours le meme soucis, merci

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Par défaut
    As tu redéfinis des méthode de JFrame dans VueGenerale.
    Sinon, est ce que tu pourrais essayer DO_NOTHING_ON_CLOSE ou bien HIDE_ON_CLOSE dans le bout de code que je t'avais donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (e.getSource() == vuegen) 
          { 
             VueGenerale appli = new VueGenerale(); 
             appli.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
             appli.setVisible(true); 
          }
    à la place de DISPOSE_ON_CLOSE.

  20. #20
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Voila, je dois quitter mon poste de travail donc si vous avez d'autres propositions, n'hesitez pas mais je ne pourrais pas les tester avant demain matin. Merci d'avance pour toutes vos propositions et merci aussi a ceux qui ont deja essaye de m'aider

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [debutant] Pb fermeture d une fenetre
    Par yup dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/06/2006, 17h48
  2. [C#] bloqué la fermeture d'une fenetre
    Par padodanle51 dans le forum Windows Forms
    Réponses: 36
    Dernier message: 19/04/2006, 11h58
  3. Fermeture d'une fenetre
    Par gamerome dans le forum GLUT
    Réponses: 1
    Dernier message: 20/12/2005, 10h23
  4. evenement a la fermeture d' une fenetre
    Par Sh. dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/03/2005, 13h30
  5. Detecter la fermeture d'une fenetre MsDos
    Par Akta3d dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/07/2004, 16h53

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