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 :

Appel des méthodes de fermetures


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 39
    Points
    39
    Par défaut Appel des méthodes de fermetures
    Bonjour

    J'ai un petit problèmes au niveau de la fermeture d'une fenetre graphique. Ce problème intervient lorsque je veux la fermer, mais elle n'appelle pas les méthode de fermetures que j'ai instancié à cette classe.

    Voilà comment ça doit se dérouler :

    - Fermeture de la fenetre :
    - Méthode de fermeture :

    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
    public void windowClosing(WindowEvent e) {
    		/* Cette méthode est invoquée lorsque l'utilisateur veut fermer la fenêtre en cliquant sur le bouton X de la barre de titre. */
    		try{
    			if(jabberModel.getTypeUser() == 1){ //Si c'est un agent
    				//Si c'est un agent
    				if(button1.isEnabled()){//Si le bouton envoye n'est pas desactive, on envoie un message et on change le status
    					jabberModel.sendMessage(jabberid+"@"+jabberModel.getServerName(), null, "thread", "chat", null, new String(ListCommand.getCommande(5)));
    					agent.change_status();
    					//enregistrement de la conversation dans la DB
    				}
    				else
    					//sinon on change uniquement le status de l'agent
    					agent.change_status();
    				}
    			//Si on est un visiteur
    			else{
    				if(button1.isEnabled()){//Si le bouton envoye n'est pas desactive, on envoie un message et on se deconnecte
    					jabberModel.sendMessage(jabberid+"@"+jabberModel.getServerName(), null, "thread", "chat", null, new String(ListCommand.getCommande(5)));
    					jabberModel.disconnect();
    					//enregistrement de la conversation dans la DB
    				}
    				else
    					//Sinon on se deconnecte uniquement
    					jabberModel.disconnect();
    			}
    		}
    		catch(Exception ex){
    			ex.printStackTrace();
    		}
    	}
    Comme je l'ai expliqué plus haut le problème c'est que la méthode windowClosing n'est pas appelé en faisant le dispose. Quelqu'un aurait une idée sur la manière de s'y prendre ?

    Merci bien

    Dasson

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    As-tu fait qq chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    chatWindow.addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
    	/* Cette méthode est invoquée lorsque l'utilisateur
    	   veut fermer la fenêtre en cliquant sur le bouton X
    	   de la barre de titre. */
               ...
       }
    });

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 39
    Points
    39
    Par défaut
    Disons que dans la classe de chatWindow j'implémente l'interface WindowListener, et dans sa construction je fais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void built(){
    		I18N.init(); //Initialisation de la langue du programme
    		setTitle("En discussion avec "+jabberid); //On donne un titre � l'application //$NON-NLS-1$
    		setSize(450,500); //On donne une taille � notre fen�tre
    		setLocationRelativeTo(null); //On centre la fen�tre sur l'ecran
    		setResizable(false); //On interdit la redimensionnement de la fen�tre
    		addWindowListener(this);
    		setContentPane(buildContentPane());
    ....
    Je dois changer quelque chose dans le code ?

    Dasson

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 96
    Points : 39
    Points
    39
    Par défaut
    Après moult recherche, j'ai réussi à effectuer une fermeture de la fenetre voulue.

    Je fais tout simplement comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    					chatWindow.windowClosing(new WindowEvent(this,WindowEvent.WINDOW_CLOSING));
    					chatWindow.dispose();
    J'appelle donc ma méthode de fermeture puis je fais un dispose de ma fenetre et ça marche nickel.

    Dasson

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

Discussions similaires

  1. Appeler des méthodes qui renvoient des objets
    Par ALeX850 dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2010, 00h49
  2. Appeler des méthodes Java dans javascript
    Par Kyo-AzN dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2008, 20h19
  3. Problème d'appel des méthodes OpenGL
    Par choko83 dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/04/2008, 10h02
  4. probléme dans l'appel des méthodes
    Par saraenim dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/04/2008, 09h20
  5. appel des méthodes init,start?
    Par schwarzy2 dans le forum JBuilder
    Réponses: 7
    Dernier message: 13/06/2007, 08h59

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