Bonjour
Pour la réalisation d'une application qui effectue une tâche longue (génération d'un fichier PDF par le biais d'iText), j'ouvre une fenêtre qui comporte une jprogressbar afin de témoigner de l'activité, après un click sur le bouton de génération. Rien de plus classique
J'aimerais cependant fermer l'application 1 seconde après la réussite de la génération du fichier PDF.
J'ai essayé un Thread.sleep(1000) accompagné d'une fermeture des JFrames dans la surcharge du done() ou du publish(2) (où 2 permet l'avertissement du succès de l'opération) cependant ça ne fonctionne pas.
Je pense que la raison est que le thread se pause alors que le doInBackground() est déjà terminé et que donc ce thread n'a plus lieu d'être ?
J'ai essayé de mettre le thread.sleep() avant le return du doinbackground mais done() attend que doinBG soit terminé pour s'executer et faire son publish(2) (succès de l'opération)
Auriez vous une solution afin de montrer une seconde que tout s'est bien déroulé puis de fermer l'application ?
Auriez vous également une solution plus propre que la mienne pour fermer l'application ? Parce que ça n'est pas propre d'utiliser ça:
Merci de votre lecture et bonne suite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for (java.awt.Frame frame : monPackage.monUI.getFrames()) { frame.dispose(); }
Partager