[resolu] fermer une fenetre a partir d'un bouton d'un onglet

fermer une fenetre a partir d'un bouton d'un onglet [resolu] - Java - Programmation

Marsh Posté le 06-08-2005 à 00:25:32    

Bonjour,
apres avoir chercher partout sur le forum, je me permet de solliciter votre aide.
J'ai construit une fenetre qui contient un JTabbedPane qui contient un container..
Dans ce container, j'ai un bouton qui valide une action et qui, voila le probleme, devrait fermer la fenetre.... mais je ne peut pas utiliser System.exit() car j'ai d'autre fenetres qui doivent rester ouvertes... Comment faire pour creer une sorte de .dispose() qui remonterai jusqu'a la fenetre (container, onglet, fenetre)??
Je ne trouve pas !!!!
merci


Message édité par thepingouin le 06-08-2005 à 20:26:19
Reply

Marsh Posté le 06-08-2005 à 00:25:32   

Reply

Marsh Posté le 06-08-2005 à 06:07:49    

Bonjour,
 
Lors de la création de ton onglet, tu peux lui passer en paramètre une référence à ta fenêtre.
Tu stockes cette référence à la fenêtre dans ton onglet.
Et tu fais dispose() dessus le moment venu.
 
Nicolas

Reply

Marsh Posté le 06-08-2005 à 14:11:34    

Nicolas_75 a écrit :

Bonjour,
 
Lors de la création de ton onglet, tu peux lui passer en paramètre une référence à ta fenêtre.
Tu stockes cette référence à la fenêtre dans ton onglet.
Et tu fais dispose() dessus le moment venu.
 
Nicolas


 
je comprends pas tout...
que dois-je passer en parametre ?
que veux tu dire par reference?
merci

Reply

Marsh Posté le 06-08-2005 à 19:30:16    

Si tu as ce problème, je suppose que l'onglet est une classe différente de la fenêtre (disons une JFrame) qui contient le TabbedPane.
 
Dans ce cas, tu peux surcharger son constructeur pour qu'il accepte un paramètre de type JFrame.

Code :
  1. public class MonOnglet extends JPanel {
  2.    
  3.     private JFrame jFrameContenantLOnglet;
  4.  
  5.     public MonOnglet(JFrame jFrameContenantLOnglet) {
  6.         this.jFrameContenantLOnglet = jFrameContenantLOnglet;
  7.     }
  8.    
  9.     etc...
  10. }


Ainsi, dans le corps de ton onglet, tu pourras faire là où tu veux

Code :
  1. jFrameContenantLOnglet.dispose();


 
Dans ce cas, dans la JFrame, il faut bien sûr créer l'onglet de cette façon :

Code :
  1. monJTabbedPabe.addTab(new MonOnglet(this));

où this désigne la JFrame.
 
Si tu n'es pas dans une situation similaire, merci de mieux t'expliquer, et de poster un peu de code.
 
Nicolas


Message édité par Nicolas_75 le 06-08-2005 à 19:32:14
Reply

Marsh Posté le 06-08-2005 à 20:25:38    

genial c'etait exactement ca!!
merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

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