JSpinnerクラスの定義とコンストラクタ
JSpinnerクラスの定義を確認します。クラス図は次のようになっています。
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSpinner
public class JSpinner extends JComponent implements Accessible
JSpinnerはJComponentクラスのサブクラスとなっています。JComponentクラスはSwingで用いられる多くのコンポーネントのベースとなっているクラスです。
JSpinnerクラスのコンストラクタ
JSpinnerクラスをを利用するにはコンストラクタを使ってJSpinnerクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
| コンストラクタ |
|---|
| JSpinner() 初期値が 0 で最小値または最大値の制限がない Integer SpinnerNumberModel を持つスピナーを構築します。 |
| JSpinner(SpinnerModel model) 次へ進むおよび前に戻るボタンのペアと SpinnerModel 用のエディタを持つ完全なスピナーを構築します。 |
コンストラクタは2つ用意されています。スピナーのデータモデルを指定するかどうかでコンストラクタを選択します。
では1番目のコンストラクタを確認してみます。
public JSpinner()
初期値が 0 で最小値または最大値の制限がない Integer SpinnerNumberModel を持つスピナーを構築します。
スピナーのデータモデルとしてSpinnerNumberModelを使用してスピナーを作成します。このモデルでは整数を選択することができます。
実際の使い方は次のようになります。
JSpinner spinner = new JSpinner();
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.Dimension;
import java.awt.BorderLayout;
public class JSpinnerTest1 extends JFrame{
public static void main(String[] args){
JSpinnerTest1 frame = new JSpinnerTest1();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JSpinnerTest1(){
JSpinner spinner = new JSpinner();
JPanel p = new JPanel();
p.add(spinner);
getContentPane().add(p, BorderLayout.CENTER);
}
}
上記をコンパイルした後で実行すると次のように表示されます。
スピナーは値を表示したり編集するテキストボックスが1つと上下に値を移動させるボタン2つから構成されます。では上のボタンをクリックして下さい。
今回はデータモデルとしてSpinnerNumberModelが使用されていますので、整数の値が選択できるようになっています。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。