モジュール java.desktop
パッケージ javax.swing

クラスJProgressBar

java.lang.Object
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

@JavaBean(defaultProperty="UI", description="A component that displays an integer value.") public class JProgressBar extends JComponent implements SwingConstants, Accessible
一部のタスクの進捗状況を視覚的に表示するコンポーネントです。 タスクの処理の進行にあわせて、進捗バーにタスクの完了した割合が表示されます。 この割合は、通常、長方形で表されます。最初、この長方形の内部は空ですが、タスクの進行とともに塗りつぶされていきます。 また、進捗バーにこの割合のテキスト表現を表示することもできます。

JProgressBarは、BoundedRangeModelをデータ・モデルとし、タスクの「現在の」状態を表すvalueプロパティ、タスクの開始点を表すminimumプロパティ、およびタスクの終了点を表すmaximumプロパティを指定して使用します。

不明な長さのタスクが実行されていることを示すには、進捗バーを不確定モードにすることができます。 バーが不確定モードの間は、常に処理が行われていることが動画で表示されます。 タスクの長さが判定されるとすぐに、進捗バーの値を更新して確定モードに戻します。

進捗バーの作成例を次に示します。taskはタスクの進捗状況を返すオブジェクトで、作業内容の一部を表します。

progressBar = new JProgressBar(0, task.getLengthOfTask());
progressBar.setValue(0);
progressBar.setStringPainted(true);
タスクの現在の状態を問い合わせ、戻り値を使って進捗バーを更新する例を次に示します。
progressBar.setValue(task.getCurrent());
進捗バーを不確定モードにし、タスクの長さが判明したら確定モードに戻す例です。
progressBar = new JProgressBar();
...//when the task of (initially) unknown length begins:
progressBar.setIndeterminate(true);
...//do some work; get length of task...
progressBar.setMaximum(newLength);
progressBar.setValue(newValue);
progressBar.setIndeterminate(false);

詳細な例および解説については、「The Java Tutorial」のセクション「How to Monitor Progress」を参照してください。

警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

導入されたバージョン:
1.2
関連項目: