Как остановить запущенный процесс в Swing - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть одна банка для извлечения результатов из БД и записи в файл Excel. У моей банки есть две кнопки «Выполнить» и «Стоп». Когда я нажимаю на кнопку «Выполнить» в графическом интерфейсе, мой код запускается, но давайте предположим, что если я хочу немедленно «остановить» выполнение, я нажму кнопку «Стоп», и он выполнит System.exit(0). Может кто-нибудь помочь мне с идеей, как начать с этого?

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Убедитесь, что задача, запускаемая кнопкой «Выполнить», запускается в отдельном потоке. Если вы просто выполните его непосредственно в ActionListener кнопки «Выполнить», вы заблокируете поток событий, и нажатия кнопки «Стоп» не будут обрабатываться до тех пор, пока задача не будет завершена.

0 голосов
/ 25 апреля 2019

Используйте SwingWorker для реализации этого поведения, он предоставляет возможность выполнять задачи в фоновом режиме (отдельный поток), а также дает возможность отменить задачу.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...