ユーザインタフェース 9章 基本的なコンポーネント3
- 9.1. javax.swing.JList
- 9.2. javax.swing.JComboBox
- 9.3. javax.swing.JProgressBar
- 9.4. javax.swing.JToolTip
- 9.5. キーボードとの連携
9.2. javax.swing.JComboBox
「JComboBox」はリストの中から1つの項目を選択するのに使用するコンポーネントです。「JList」と似ていますが、複数選択できない点・リストがプルダウンで表示される点が異なります。
「JComboBox」にも「JList」と同じく複数のコンストラクタがあります。
JComboBox() JComboBox(ComboBoxModel model) JComboBox(Object[] items) JComboBox(Vector items)
空のコンストラクタを使用して作成した場合には、「addItem」「removeItem」などのメソッドを使用して項目を編集します。引数1つのコンストラクタを使用した場合には、いずれの場合でも一度にリストを構成する事ができます。リストに表示されるのは「JList」の場合と同じく、各オブジェクトの「toString」メソッドを呼び出した結果です。
「JComboBox」は「setEditable」メソッドによって、選択結果を表示する部分を直接編集可能にする事ができます。その場合でも「getSelectedItem」メソッドによって、編集した結果を取得する事ができます。
(実習課題3)
以下のプログラムを作成しなさい。
- ウィンドウに表示されるコンポーネントはコンボボックスと「表示」ボタン。
- コンボボックスのリストには10以上の都市の名前がリストアップされている事。またコンボボックスは直接編集可能にする事。
- 「表示」ボタンを押すと、その時点で選択されている都市名がコンソールに表示される。もしコンボボックスのリストに含まれていない場合(ユーザが直接編集した場合)は、そのデータをリストに追加する事。