0

次のコードがありますが、すべてのアイテムをコンボボックスに追加する方法がわかりません。

DefaultTableModel rs = MyDB.DataTable("SELECT `Activity` FROM `transactions` WHERE `Group` = '" + Gname.getText()+ "' OR `Group` = 'ALL'");

DefaultComboBoxModel dmc = new DefaultComboBoxModel();

dmc.addElement("");

if (rs.getRowCount() > 0) {
    dmc.addElement(rs.getValueAt(0,0).toString());
}

cboItem.setModel(dmc);

アイテムを1つだけ追加しますDefaultTableModelが、どうすればすべてを追加できますか?

4

1 に答える 1

3

のコンストラクターDefaultComboBoxModelObject[]。最初に値を反復処理してrs配列(またはリスト)を準備してから、この配列をDefaultComboBoxModelコンストラクターに渡すことができます。このような ...

DefaultTableModel rs = MyDB.DataTable("SELECT `Activity` FROM `transactions` WHERE `Group` = '" + Gname.getText()+ "' OR `Group` = 'ALL'");
int columnCount = rs.getColumnCount();
int rowCount = rs.getRowCount();

List <Object> values = new ArrayList<Object>();
for (int rowIndex = 0; rowIndex < rowCount; rowIndex ++){
    for(int columnIndex = 0; columnIndex < columnCount; columnIndex++){
         Object value = rs.getValueAt(rowIndex , columnIndex );
         values.add(value);
    }
}
DefaultComboBoxModel dmc = new DefaultComboBoxModel(values.toArray());
于 2013-03-19T04:02:18.517 に答える