Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда программа Swing должна выполнить продолжительную задачу, она обычно использует один из рабочих потоков, также известных как фоновые потоки. Каждая задача, работающая на рабочем потоке, представляется экземпляром javax.swing.SwingWorker
. SwingWorker
непосредственно абстрактный class; следует определить подкласс, чтобы создать a SwingWorker
объект; анонимные внутренние классы часто полезны для создания очень простой SwingWorker
объекты.
SwingWorker
обеспечивает много передачи и функций управления:
SwingWorker
подкласс может определить метод, done
, который автоматически вызывается на событие, диспетчеризируют поток, когда фоновая задача заканчивается.SwingWorker
реализации java.util.concurrent.Future
SwingWorker.publish
, порождение SwingWorker.process
чтобы быть вызванными от события диспетчеризируют поток.Эти функции обсуждаются в следующих подразделах.
javax.swing.SwingWorker
class был добавлен к платформе Java в Java SE 6. До этого, другого class, также вызванного SwingWorker
, широко использовался в некоторых из тех же самых целей. Старое SwingWorker
не был часть спецификации платформы Java, и не была обеспечена как часть JDK.
Новое javax.swing.SwingWorker
абсолютно новый class. Его функциональность не является строгим надмножеством старого SwingWorker
. У методов в двух классах, у которых есть та же самая функция, нет тех же самых имен. Кроме того, экземпляры старого SwingWorker
class был допускающим повторное использование, в то время как новый экземпляр javax.swing.SwingWorker
необходим для каждой новой фоновой задачи.
Всюду по Учебным руководствам по Java, любому упоминанию о SwingWorker
теперь обращается к javax.swing.SwingWorker
.