Я использую Swing Worker, чтобы показать диалог прогресса и запустить фоновый процесс. Мне нужна функциональность, например, когда пользователь нажимает кнопку отмены в диалоговом окне прогресса, отображается диалоговое окно подтверждения, процесс будет ждать ввода пользователя, и если пользователь выбирает «да», процесс останавливается. Если пользователь выберет нет, процесс продолжится. Я могу остановить фоновый процесс с помощью функции SwingWorker.cancel, но не могу снова запустить процесс, если пользователь не нажимает кнопку.
Уведомить рабочий поток Swing
comment
для получения дополнительной помощи скорее опубликуйте SSCCE, короткую, работоспособную, компилируемую, примерно утреннюю проблему
- person mKorbel   schedule 29.05.2013
Ответы (1)
SwingWorker
нельзя перезапустить после отмены. Подобно базовым Threads
, они выполняются один раз. Из документов
SwingWorker предназначен для выполнения только один раз.
Вы можете просто заставить каждую кнопку закрыть диалоговое окно отмены, а кнопка «Нет» не будет выполнять никаких дополнительных действий с SwingWorker
.
person
Reimeus
schedule
29.05.2013