Описание тега swingworker

Когда программе Swing необходимо выполнить длительную задачу, она обычно использует один из рабочих потоков, также известный как фоновые потоки. Каждая задача, выполняемая в рабочем потоке, представлена ​​экземпляром javax.swing.SwingWorker. Сам SwingWorker - абстрактный класс; вы должны определить подкласс, чтобы создать объект SwingWorker; анонимные внутренние классы часто полезны для создания очень простых объектов SwingWorker.

Когда программе Swing необходимо выполнить длительную задачу, она обычно использует один из рабочих потоков, также известный как фоновые потоки. Каждая задача, выполняемая в рабочем потоке, представлена ​​экземпляром javax.swing.SwingWorker. SwingWorker сам по себе является абстрактным классом; вы должны определить подкласс, чтобы создатьSwingWorkerобъект; анонимные внутренние классы часто полезны для создания очень простых объектов SwingWorker.

SwingWorker предоставляет ряд функций связи и управления:

  • Подкласс SwingWorker может определять метод done, который автоматически вызывается в потоке отправки событий по завершении фоновой задачи.
  • SwingWorker реализует java.util.concurrent.Future. Этот интерфейс позволяет фоновой задаче предоставлять возвращаемое значение другому потоку. Другие методы в этом интерфейсе позволяют отменить фоновую задачу и определить, была ли фоновая задача завершена или отменена.
  • Фоновая задача может предоставить промежуточные результаты, вызывая SwingWorker.publish, вызывая SwingWorker.process из потока отправки событий.
  • Фоновая задача может определять связанные свойства. Изменения этих свойств вызывают события, вызывая вызов методов обработки событий в потоке отправки событий.