Module java.desktop
Package javax.swing
Class SwingWorker<T,V>
- java.lang.Object
-
- javax.swing.SwingWorker<T,V>
-
Type Parameters:
T
- the result type returned by thisSwingWorker's
doInBackground
andget
methodsV
- the type used for carrying out intermediate results by thisSwingWorker's
publish
andprocess
methodsAll Implemented Interfaces:
Runnable
,Future<T>
,RunnableFuture<T>
T-
这个SwingWorker的doInBackground和get方法返回的结果类型
v-用于执行此SwingWorker的publish和process方法的中间结果的类型
一个抽象类,用于在后台线程中执行冗长的gui交互任务。可以使用几个后台线程来执行这些任务。但是,为任何特定的SwingWorker选择线程的确切策略是未指定的,不应该依赖于此策略。
SwingWorker是为以下情况设计的:您需要在后台线程中运行一个长时间运行的任务,并在完成时或处理时向UI提供更新。SwingWorker的子类必须实现doInBackground()方法来执行后台计算。
protected abstract T doInBackground() throws Exception
计算结果,如果无法计算,则抛出异常。注意,此方法只执行一次。注意:此方法在后台线程中执行。
(一个抽象方法,在建立一个SwingWorker的具体实现时需要重写此抽象方法)
public final void execute()
调度此SwingWorker在工作线程上执行(执行doInBackground方法)。有许多可用的工作线程。如果所有工作线程都忙于处理其他SwingWorker,那么这个SwingWorker将被放置在一个等待队列中。
注意:SwingWorker只设计执行一次。执行一次以上的SwingWorker不会导致两次调用doInBackground方法。