Уведомить рабочий поток Swing

Я использую Swing Worker, чтобы показать диалог прогресса и запустить фоновый процесс. Мне нужна функциональность, например, когда пользователь нажимает кнопку отмены в диалоговом окне прогресса, отображается диалоговое окно подтверждения, процесс будет ждать ввода пользователя, и если пользователь выбирает «да», процесс останавливается. Если пользователь выберет нет, процесс продолжится. Я могу остановить фоновый процесс с помощью функции SwingWorker.cancel, но не могу снова запустить процесс, если пользователь не нажимает кнопку.


person user2432658    schedule 29.05.2013    source источник
comment
для получения дополнительной помощи скорее опубликуйте SSCCE, короткую, работоспособную, компилируемую, примерно утреннюю проблему   -  person mKorbel    schedule 29.05.2013


Ответы (1)


SwingWorker нельзя перезапустить после отмены. Подобно базовым Threads, они выполняются один раз. Из документов

SwingWorker предназначен для выполнения только один раз.

Вы можете просто заставить каждую кнопку закрыть диалоговое окно отмены, а кнопка «Нет» не будет выполнять никаких дополнительных действий с SwingWorker.

person Reimeus    schedule 29.05.2013