我有以下代码,但我不知道如何将所有项目添加到我的组合框中。
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);
它只向我的 DefaultTableModel
添加一项,我如何添加所有项?
最佳答案
DefaultComboBoxModel
的构造函数采用 Object[]
。您可以首先迭代 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());
关于java - 如何将多个项目添加到 DefaultComboBoxModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15491211/