データベースからデータ値を正常にフェッチしています。また、それらをString[]
配列に格納しました。実行されたキーアクションに応じて、JComboBox
のアイテムとして文字列配列をロードする必要があります。フェッチされた値は押されたキーに依存するため、キーが押されたときはいつでもJComboBox
のアイテムを再ロードできますか?むしろ、JComboBox
アイテムを動的に更新する必要があります。
DefaultComboBoxModel model = new DefaultComboBoxModel( yourStringArray );
comboBox.setModel( model );
いくつかのオプションがあります。 removeAllItems()
(または他の削除メソッドの1つ)とaddItem(Object anObject)
を使用して、選択可能なオブジェクトを操作できます。または、ComboBoxModel
を実装して、配列からデータを提供できるようにすることもできます。
これは、デフォルトのコンボボックスモデルを示すためのデモです。
public class ComboPanel extends JPanel {
JComboBox jcbo;
// this is constructor
public ComboPanel(ArrayList<String> items) {
jcbo = new JComboBox();
// getting exiting combo box model
DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel();
// removing old data
model.removeAllElements();
for (String item : items) {
model.addElement(item);
}
// setting model with new data
jcbo.setModel(model);
// adding combobox to panel
this.add(jcbo);
}
}
これが少し役に立てば幸いです:)