J'ai le fil principal à partir de laquelle je démarre une fenêtre en utilisant invokeLater
. Je cours mon application à partir de la ligne de commande. Donc, quand l'application est en cours d'exécution, je vois la fenêtre et ma ligne de commande est "bloquée" par l'application.Comment puis-je arrêter mon application?
Je peux arrêter l'application en fermant la fenêtre (par conséquent, la ligne de commande est débloquée) ou en tapant Ctrl-C
dans la ligne de commande (par conséquent la fenêtre disparaît).
Je voulais être en mesure d'arrêter l'application en cliquant sur un bouton dans la fenêtre de l'application. J'ai utilisé setVisible(false)
pour cela. Mais de cette manière, je ne peux atteindre l'objectif que partiellement. Ma fenêtre disparaît vraiment mais la ligne de commande est toujours bloquée. Donc, le logiciel est toujours en cours d'exécution.
Eh bien, je suppose que c'est parce que d'autres threads sont encore en cours d'exécution. Mais comment puis-je facilement fermer tous ces threads (comme je le fais en fermant la fenêtre de l'application manuellement).
"Cliquer sur le bouton" déclenchera un événement. Placez ce code dans le gestionnaire d'événements. – Dave
Merci! Ça marche pour moi. – Roman
Gardez à l'esprit que c'est une manière plutôt dure de tuer votre application. –