bertrandbasch
Messages postés22Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention12 août 2004
-
12 mai 2003 à 21:40
skro90
Messages postés8Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention13 mai 2003
-
13 mai 2003 à 00:00
En fait j'ai un problème avec une des fenetres de mon application. Lorsque je crée la fenetre à partir de la fenetre principale la première fois, tout se passe bien. Ensuite je retourne sur ma fenetre principale. Par après quand je créée à nouveau ma fenetre secondaire, toutes les actions engendrées par un bouton se font deux fois... et ainsi de suite.
Est ce à cause d'une mauvaise destruction lors de la première utilisation?
Comment puis je remédier à ce problème?
cs_dragon
Messages postés2336Date d'inscriptionsamedi 14 juillet 2001StatutMembreDernière intervention 5 mai 20096 12 mai 2003 à 22:05
si tu fait seulement : "new Frame" quand tu vas fermer la fenêtre la frame vas disparaitre. Sauf attention, ça peut créer plusieurs fois la même fenêtre.
l'idéal est d'utiliser un JDialog qui permet de mettre la fenêtre modal, donc impossible de cliquer sur la fenêtre maitre quand la fenêtre secondaire est ouverte
skro90
Messages postés8Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention13 mai 2003 13 mai 2003 à 00:00
Oui, une JDialog modal, c'est pas mal .
Pour ce qui est de ta fenetre, quand tu la ferme, tu lui
applique bien un this.dispose() ?
car sinon, si tu clic sur la croix, ca ne fait que la caché, mais pas fermé...
le mieux serai de faire dans le contruteur de la fenetre principale :
puis d'implementé un windowListener a la fenetre secondaire :
this.addWindowsListener(this);
( ne pas oublier : " implements windowListener " derriere Class fen extends JFrame )
et dans : public void windowClosing(WindowEvent e)
public void windowClosing(WindowEvent e)
{
this.dispose();
}
ne pas oublier aussi les autre methode pour les windowListener :
public void windowActivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}