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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。