cs_tyty26
Messages postés5Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 avril 2003
-
2 avril 2003 à 10:59
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 2004
-
2 avril 2003 à 15:25
Bonjour,
J'ai un gros souci : je ne parviens pas à fermer ma fenêtre secondaire (modale) au cours de ma gestion d'erreur.
En swing il me semble que this.setVisible(false) suivi de this.dispose.
Mais ce code ne fonctionne que lorsque je CLIQUE réellement sur mon bouton de fermeture, pas lorsque je l'appelle avec du code...
J'ai essayé de créer un pseudo evenement et d'autres petites choses mais rien à faire.
Merci de votre aide car je sèche quelque peu...
Thierry
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 200411 2 avril 2003 à 11:37
salut,
si tu dis qu elle est modale c est que c est une derivée de JDialog donc.
Pour les JDialog, le dialogue se termine effectivement avec le setVisible(false) que tu peux appeler a n'importe quel moment.
Je ne comprend pas vraiment ton probleme : ta fenetre reste a l'écran ?
Duss
cs_tyty26
Messages postés5Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 avril 2003 2 avril 2003 à 11:42
Salut,
Effectivement, la fenêtre reste affichée bien qu'elle soit passée par le code setVisible(false) et dispose() !
Ca c'est si j'en fait la demande par programme (dans le constructeur par exemple), sans passer par un evènement sur la fenêtre.
En revanche, lorsque je passe par un simple clic d'un bouton, ca marche : la fenêtre se ferme!
J'ai essayer de provoquer le clic du bouton par programmation (doClick(), ou l'appel du ActionPerformed()) mais ca ne veut ren savoir....
Est-ce impossible de fermer une fenêtre modale sans passer par un evenement sur la fenêtre???
cs_tyty26
Messages postés5Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 avril 2003 2 avril 2003 à 11:59
Le constructeur de ma fenêtre modale appelle la methode suivante :
private void afficheTableau() {
// Récuperation des contenants recherchés et affectation dans le tableau
Hashtable contHash = controlEcrans.getContenantFactory().getItems();
if (contHash!=null) {
for (Enumeration e=contHash.elements(); e.hasMoreElements();) {
Contenant cont =(Contenant) e.nextElement();
if (testbidonPourAffichage) {
// Methode perso pour afficher les données
setLigneTableauWithContenant(cont,i_ligne);
tableauContenant[i_ligne] = cont.getItemId();
i_ligne++;
}
}
// Si pas de ligne a afficher, exit vers fenetre principale
if (i_ligne==0) {
Ivanoe_user_dialog dialog = new Ivanoe_user_dialog(ivanoe,"IVANOE Sondages" ,"", true, "Aucun contenant trouvé");
dialog.show();
// C'est ici que le bat blesse
this.setVisible(false);
this.dispose();
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 200411 2 avril 2003 à 13:18
effectivement,
meme en passant par un dispatchWindowEvent ca ne fait rien,
c 'est bizarre.
Meme le setModal(false) n y fait rien c est vraiment bizarre
je creuse le sujet et je te tienx au courant !!!
Duss