Fermeture d'un popup JOptionPane

squeezen123 Messages postés 5 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 29 août 2007 - 24 juin 2007 à 20:00
squeezen123 Messages postés 5 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 29 août 2007 - 24 juin 2007 à 22:00
hello !!

Dans le cadre d'un projet Socket Programming, j'ai créé une fenêtre popup type JOptionPane.
Le problème c'est que j'ai mis un timeout pour faire disparaitre la fenetre après un certain temps et que j'arrive pas
à la fermer ?!!? j'ai essayé this.setVisible(false) ou encore a supprimer l'objet rien n'y fait....

C'est la toute dermière partie de mon projet que j'aimerais implémenter (il doit etre rendu mardi matin prochaine : le 26 !!! )

Donc si qqun peut m'aider. Voila une partie du code :

JOptionPane jOption=new JOptionPane();
                   
 // On commence le timer pour killer le callThread au bout de 18sec: avant le timeout de l'autre
                               
                    timerQuestionCall=new Timer();
                    timerQuestionCall.schedule(new CallQuestionTask(this,p2PManager,jOption),
                                    18*1000, //initial delay
                                    18*1000); //subsequent rate
                    System.err.println("TIMER LANCEEEE depuis " + requestSplited[3] + " pour le thread " + this.peer.buddyName);
                                                           
 int callReceive = jOption.showConfirmDialog(null, "Call received :\n"+ requestSplited[3]+"\n" + "IP: " +requestSplited[4] + " / Port: "+                                   requestSplited[5]+ "\n\nWould you like to answer to this call ?", "Incomming call", JOptionPane.YES_NO_OPTION);

merci
                   
                   

2 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
24 juin 2007 à 21:55
le probleme reside dans le fait que en appelant la methode show la class cree une JDialogue local pour afficher le panel ...
et n en conserve aucune reference au nivo de la class... et donc aucune methode pour y acceder ... et donc aucun moyen de l effacer ;o) sans appuyer sur un bouton de confirmation....

la meilleur soluce pour ton cas serai de faire toi meme ta Boite de dialogue avec un timeout dedans  ;o) et implementer les methode qui te manque
ainsi tout serai dans la meme class et ce serai plus  ;o) joli... une class ComfirmDialogTimeOut  ;o) c est long mais explicite ;o)

GodConan ;o)
0
squeezen123 Messages postés 5 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 29 août 2007
24 juin 2007 à 22:00
ouais ok je vois le problème. merci je vais tester. a+
0
Rejoignez-nous