SwingWorker
↑ J2SE 6.0 以前 と 以後javax.swing パッケージ概要をみよ。version 6.0までは、このドキュメントの目次ページに SwingWorker クラスが挙げられていないことにも注目されたい : , 。
↑ ここからダウンロードできる。
SwingWorkerはJava 6.0になってはじめてJava SEの一部となった。Sunはそれ以前のJDKにおいて使われるべきバージョンをリリースしてきたが、それらはJava SEの一部ではない非公式なバージョンであって、標準ライブラリのドキュメントでは言及されていなかった。これらの古いバージョンの中で最も新しいものは2003年以降のもので、しばしば SwingWorker version 3と呼ばれる。残念なことに、JDK 6.0 の SwingWorker と Version 3 の SwingWorker は異なるメソッド名を使っているため、非互換である。Java 6以前ではバックポート版(後述)の利用が推奨される。
SwingWorker 3 をインスタンス化する例を以下に示す:
start()メソッドがconstruct()メソッドに追加されたコードを別スレッドで実行する。バックグラウンドスレッドが終わった時に通知を受けるには、finished()をオーバーライドするだけで良い。construct()メソッドは戻り値を返すことができ、この戻り値は後で SwingWorkerの get()メソッドを使って取得できる。