comment attendre la fermeture d'une frame

comment attendre la fermeture d'une frame - Java - Programmation

Marsh Posté le 13-05-2003 à 23:41:17    

salut,
 
j'ai une petite question toute bête....
 
j'ai fait un programme qui a un moment cree et ouvre une frame.
ce que je veux faire c'est bloquer l'exécution de ce programme tant que la nouvelle fenetre creee est ouverte. Quand je la ferme, le programme qui l'a creee doit reprendre là ou il en était.
 
j'imagine que c'est tout con, mais je bloque un peu dessus.
 
d'avance merci.
A+

Reply

Marsh Posté le 13-05-2003 à 23:41:17   

Reply

Marsh Posté le 13-05-2003 à 23:46:18    

java.awt.event.WindowListener [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 14-05-2003 à 00:49:02    

ouais, c'est ce que je pensais, mais t'aurais pas un petit exemple de base pour voir comment on s'en sert ?

Reply

Marsh Posté le 14-05-2003 à 08:43:07    

de retour

Reply

Marsh Posté le 14-05-2003 à 09:36:16    

Tu peut utiliser une JDialog modale, c'est fait pour ca.


---------------
Light is right
Reply

Marsh Posté le 14-05-2003 à 09:42:22    

Nerisson a écrit :

Tu peut utiliser une JDialog modale, c'est fait pour ca.


 :heink: rien a voir, a moins que je n'ai mal compris la question
Le fait que la boite soit modale, va juste empecher l'utilisateur d'utiliser la frame qui l'a genere, mais n'arrete en aucun cas les executions eventuelles ...
 
pour l'exemple sur le WindowListener : tuts de sun !!!
Est a mon avis que tu devras utiliser les threads ...


---------------
get amaroK plugin
Reply

Marsh Posté le 14-05-2003 à 13:28:13    

bon, alors voila en gros mon probleme.
 
mon programme main ressemble un peu a ça :
 
public static void main(String[] args)  
{
    // on recupere notre look and feel
    try
    {  
      UIManager.setLookAndFeel    
       (UIManager.getSystemLookAndFeelClassName());  
    }
    catch(Exception e)  
    {
        e.printStackTrace();  
    }
 
    // creation de la fenetre (un editeur de base de donnees)
    mon_editeur fenetre = new mon_editeur();
 
    // je veux que le code suivant soit exécuté uniquement
    // lorsque ma fenetre se ferme    
    recharge_la_base();    
}
 
 
 
mon_editeur est une jframe.
voila, peut-etre que comme ca c'est un peu plus clair.
 
qqun pourrait me dire le code a inserer (et où) pour obtenir ce resultat ?
merci en tout cas pour vos réponses.

Reply

Marsh Posté le 14-05-2003 à 13:33:11    

Ajoute ces 2 bouts de code dans la classe mon_editeur:
 

Code :
  1. this.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() {
  2.       public void internalFrameClosed(InternalFrameEvent e) {
  3.         this_internalFrameClosed(e);
  4.       }
  5.     });


 

Code :
  1. private void this_internalFrameClosed(InternalFrameEvent e) {
  2.     recharge_la_base();
  3.   }//end this_internalFrameClosed


---------------
Light is right
Reply

Marsh Posté le 14-05-2003 à 17:32:19    

merci pour ces bouts de code, c'est deja bien cool.
 
je veux pas paraitre penible, mais n'existe-il pas un moyen de rajouter du code dans la classe qui instancie la fenetre, plutot que comme ici dans le code de la fenetre elle-meme ?
 
si je demande ça c'est qu'il y a une raison : je compte me servir de la classe mon_editeur dans tout un tas de programme, et je voudrais donc qu'elle soit fixe et ne pas avoir à la modifier à chaque fois pour écrire les instructions à faire quand je la ferme (quivont varier d'un programme à l'autre)
 
merci.

Reply

Marsh Posté le 14-05-2003 à 17:45:44    

tu écris un listener différent par application [:spamafote]  
 
c'est marrant ça m'a pas manqué tant que ça tous ces postes :whistle:

Reply

Marsh Posté le 14-05-2003 à 17:45:44   

Reply

Marsh Posté le 14-05-2003 à 17:58:38    

guigui84 a écrit :

merci pour ces bouts de code, c'est deja bien cool.
 
je veux pas paraitre penible, mais n'existe-il pas un moyen de rajouter du code dans la classe qui instancie la fenetre, plutot que comme ici dans le code de la fenetre elle-meme ?
 
si je demande ça c'est qu'il y a une raison : je compte me servir de la classe mon_editeur dans tout un tas de programme, et je voudrais donc qu'elle soit fixe et ne pas avoir à la modifier à chaque fois pour écrire les instructions à faire quand je la ferme (quivont varier d'un programme à l'autre)
 
merci.


Tu mets le code dans ta classe et tu remplaces le this par mon_editeur.


---------------
Light is right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed