工作线程和 SwingWorker

当 Swing 程序需要执行 Long 时间运行的任务时,它通常使用辅助线程之一,也称为后台线程。在工作线程上运行的每个任务都由javax.swing.SwingWorker实例表示。 SwingWorker本身是一个抽象类;您必须定义一个子类才能创建SwingWorker对象;匿名内部类通常对于创建非常简单的SwingWorker对象很有用。

SwingWorker提供了许多通信和控制功能:

这些功能将在以下小节中讨论。

Note:

javax.swing.SwingWorker类已添加到 Java SE 6 中的 Java 平台中。在此之前,另一个类也称为SwingWorker,被广泛用于某些相同的 Object。旧的SwingWorker不是 Java 平台规范的一部分,并且未作为 JDK 的一部分提供。

新的javax.swing.SwingWorker是一个全新的类。它的功能不是旧SwingWorker的严格超集。两个类中具有相同功能的方法没有相同的名称。同样,旧SwingWorker类的实例是可重用的,而每个新的后台任务都需要javax.swing.SwingWorker的新实例。

在整个 Java 教程中,对SwingWorker的任何提及现在都是指javax.swing.SwingWorker

首页