java - 如何将多个项目添加到 DefaultComboBoxModel

标签 java swing defaulttablemodel

我有以下代码,但我不知道如何将所有项目添加到我的组合框中。

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/

相关文章:

java - 需要在子类中初始化一个静态final字段

java - 获取 java.sql.SQLException:JAVA 中 CallableStatement 上的索引::4 处缺少 IN 或 OUT 参数

java - 验证 Swing GUI 中的所有字段

java - 调整父 JFrame 大小时调整子面板大小

java - 如果我不在表中输入任何值或将任何行留空,则会出现 NullPointerException

java - DefaultTableModel 不刷新

java - 更改TableModel结构

java - 获取 "No X11 DISPLAY variable was set, but this program performed an operation which requires it."

java - tomcat - web 服务在 60 秒后超时,增加连接超时

从线程更新多个组件时,Java GUI 非常滞后