JProgressBarクラスの定義とコンストラクタ
JProgressBarクラスの定義を確認します。クラス図は次のようになっています。
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JProgressBar
public class JProgressBar extends JComponent implements SwingConstants, Accessible
JProgressBarはJComponentクラスのサブクラスとなっています。JComponentクラスはSwingで用いられる多くのコンポーネントのベースとなっているクラスです。
JProgressBarクラスのコンストラクタ
JProgressBarクラスをを利用するにはコンストラクタを使ってJProgressBarクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
| コンストラクタ |
|---|
| JProgressBar() ボーダーを表示し、進捗文字列を表示しない、水平方向の進捗バーを作成します。 |
| JProgressBar(BoundedRangeModel newModel) 水平方向の進捗バーを作成します。 |
| JProgressBar(int orient) 指定した方向 (SwingConstants.VERTICAL または SwingConstants.HORIZONTAL) で進捗バーを作成します。 |
| JProgressBar(int min, int max) 水平方向の進捗バーを作成します。 |
| JProgressBar(int orient, int min, int max) 進捗バーを作成します。 |
コンストラクタは5つ用意されています。進捗バーの方向と最大値最小値を設定するかどうかで選択します。またデータを管理しているBoundedRangeModelインターフェースを実装したクラスを元に作成することもできます。
では1番目のコンストラクタを確認してみます。
public JProgressBar()
ボーダーを表示し、進捗文字列を表示しない、水平方向の進捗バーを作成します。 初期値および最小値は 0、最大値は 100 です。
進捗バーの方向が水平方向であり、最小値が「0」最大値が「100」の進捗バーを作成します。
実際の使い方は次のようになります。
JProgressBar bar = new JProgressBar();
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.BorderLayout;
public class JProgressBarTest1 extends JFrame{
public static void main(String[] args){
JProgressBarTest1 frame = new JProgressBarTest1();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JProgressBarTest1(){
JProgressBar bar = new JProgressBar();
JPanel barPanel = new JPanel();
barPanel.add(bar);
getContentPane().add(barPanel, BorderLayout.CENTER);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
対象となる処理の進み具合に応じて進捗バーに実際に値を設定することで進捗状態が分かるようになります。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。