JComboBoxクラスの定義とコンストラクタ
広告
JComboBoxクラスの定義を確認します。クラス図は次のようになっています。
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JComboBox public class JComboBox extends JComponent implements ItemSelectable, ListDataListener, ActionListener, Accessible
JComboBoxクラスはJComponentクラスのサブクラスとなっています。JComponentクラスはSwingで用いられる多くのコンポーネントのベースとなっているクラスです。
JComboBoxクラスのコンストラクタ
JComboBoxクラスをを利用するにはコンストラクタを使ってJComboBoxクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。
コンストラクタ |
---|
JComboBox() デフォルトのデータモデルで JComboBox を生成します。 |
JComboBox(ComboBoxModel aModel) 項目を既存の ComboBoxModel から取得する JComboBox を生成します。 |
JComboBox(Object[] items) 指定された配列に要素を格納する JComboBox を生成します。 |
JComboBox(Vector<?> items) 指定された Vector に要素を格納する JComboBox を生成します。 |
コンストラクタは4つ用意されています。コンボボックスで表示される値を指定するのに配列やVectorを使って指定できます。またデータを管理しているComboBoxModelインターフェースを実装したクラスを元に作成することもできます。
では1番目のコンストラクタを確認してみます。
public JComboBox()
デフォルトのデータモデルで JComboBox を生成します。デフォルトのデータモ デルは、オブジェクトの空リストです。addItem を使用して項目を追加します。 デフォルトでは、データモデルの最初の項目が選択されます。
実際の使い方は次のようになります。
JComboBox combo = new JComboBox();
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*; import java.awt.BorderLayout; public class JComboBoxTest1 extends JFrame{ public static void main(String[] args){ JComboBoxTest1 frame = new JComboBoxTest1(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } JComboBoxTest1(){ JComboBox combo = new JComboBox(); JPanel p = new JPanel(); p.add(combo); getContentPane().add(p, BorderLayout.CENTER); } }
上記をコンパイルした後で実行すると次のように表示されます。
データが登録されていませんのでクリックしても選択可能な値は表示されません。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。