Длительный процесс, показать прогресс в пользовательском интерфейсе
Я хочу запустить длительный фоновый процесс (закодированный как сервис) из пользовательского интерфейса. Но я также хочу показать некоторый прогресс в этой задаче пользователю.
Как мне этого добиться? (Хочу не нарушать развязку). Есть ли лучшая практика для ее решения (объединение шаблонов проектирования, например, наблюдатель и команда)?
3 ответа
Вот пример того, как использовать только шаблон наблюдателя, чтобы показать прогресс в пользовательском интерфейсе. С примером кода JAVA предоставляется:
Использование шаблона Observer для отслеживания прогресса при загрузке страницы
Вот еще один пример SwingWorker
сделать тяжелую работу, и обновить JProgressBar
который содержится в пользовательском интерфейсе, чтобы показать прогресс пользователю
Посмотрите JProgressBar и изменения для прогресса могут быть вызваны из Runnable#Thread
или SwingWorker