|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда программа Swing должна выполнить продолжительную задачу, она обычно использует один из рабочих потоков, также известных как фоновые потоки. Каждая задача, работающая на рабочем потоке, представляется экземпляром javax.swing.SwingWorker. SwingWorker непосредственно абстрактный class; следует определить подкласс, чтобы создать a SwingWorker объект; анонимные внутренние классы часто полезны для создания очень простой SwingWorker объекты.
SwingWorker обеспечивает много передачи и функций управления:
SwingWorker подкласс может определить метод, done, который автоматически вызывается на событие, диспетчеризируют поток, когда фоновая задача заканчивается.SwingWorker реализации . Этот интерфейс позволяет фоновой задаче обеспечивать возвращаемое значение для другого потока. Другие методы в этом интерфейсе позволяют отмену фоновой задачи и обнаруживающий, закончилась ли фоновая задача или была отменена.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.