スイングにおけるコンボボックスの使い方
Swing では、JComboBox クラスがコンボボックスを使用する手段です。コンボボックスを使用するための一般的な手順を以下に示します。
- コンボボックスに表示するデータ項目を定義する ComboBoxModel オブジェクトを作成します。
- コンボボックスモデルオブジェクトを作った時にコンストラクタの引数として、JComboBoxオブジェクトを作成できます。
- コンボボックスに対して必要に応じて属性を設定する(例:可視行数、編集可否、複数選択可否)
- JComboBoxのメソッドを使用してデータ項目を追加または削除する(オプションの手順)。
- コンボボックスの選択項目をJComboBoxのメソッドを用いて設定する手順(省略可)。
- JComboBoxのメソッドを利用し、コンボボックスのイベントが発生したときにイベントリスナを登録するためのオプションの手順
- JComboBoxコンポーネントを適切なコンテナに追加し、コンテナの「表示」メソッドを使用してコンボボックスを表示する。
以下に、コンボボックスの使用方法を示すサンプルコードを示します。
import javax.swing.*;
public class ComboBoxExample {
public static void main(String[] args) {
// 创建数据项
String[] items = {"Item 1", "Item 2", "Item 3"};
// 创建ComboBoxModel对象
ComboBoxModel<String> comboBoxModel = new DefaultComboBoxModel<>(items);
// 创建JComboBox对象
JComboBox<String> comboBox = new JComboBox<>(comboBoxModel);
// 设置其他属性
comboBox.setEditable(true);
comboBox.setSelectedIndex(0);
// 注册事件监听器
comboBox.addActionListener(e -> {
JComboBox<String> source = (JComboBox<String>) e.getSource();
String selectedItem = (String) source.getSelectedItem();
System.out.println("Selected item: " + selectedItem);
});
// 创建JFrame并添加组合框
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(comboBox);
frame.pack();
frame.setVisible(true);
}
}
このサンプルは、3つの選択肢を含むコンボボックスを作成し、それをJFrameに追加しています。選択された項目はコンソールに出力されます。