У меня есть основной поток, из которого я запускаю окно, используя invokeLater
. Я запускаю свое приложение из командной строки. Итак, когда приложение запущено, я вижу окно, и моя командная строка «блокируется» приложением.
Я могу остановить приложение, либо закрыв окно (в результате командная строка разблокирована), либо напечатав Ctrl-C
в командной строке (в результате окно исчезнет).
Я хотел, чтобы можно было остановить приложение, нажав кнопку в окне приложения. Я использовал setVisible(false)
для этого. Но таким образом я могу достичь цели лишь частично. Мое окно действительно исчезает, но командная строка все еще заблокирована. Итак, программное обеспечение все еще работает.
Ну, я предполагаю, что это потому, что некоторые другие потоки все еще работают. Но как я могу легко закрыть все эти темы (как я делаю, закрыв окно приложения вручную).