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
プログラミングや開発環境構築の解説サイトを運営しています。