Длительный процесс, показать прогресс в пользовательском интерфейсе

Я хочу запустить длительный фоновый процесс (закодированный как сервис) из пользовательского интерфейса. Но я также хочу показать некоторый прогресс в этой задаче пользователю.

Как мне этого добиться? (Хочу не нарушать развязку). Есть ли лучшая практика для ее решения (объединение шаблонов проектирования, например, наблюдатель и команда)?

3 ответа

Решение

Вот пример того, как использовать только шаблон наблюдателя, чтобы показать прогресс в пользовательском интерфейсе. С примером кода JAVA предоставляется:

Использование шаблона Observer для отслеживания прогресса при загрузке страницы

Вот еще один пример SwingWorker сделать тяжелую работу, и обновить JProgressBar который содержится в пользовательском интерфейсе, чтобы показать прогресс пользователю

Посмотрите JProgressBar и изменения для прогресса могут быть вызваны из Runnable#Thread или SwingWorker

Другие вопросы по тегам