Java 从数据库获取Id和数据并添加到JCombobox
我想从数据库中获取名称和id,并将其添加到Java 从数据库获取Id和数据并添加到JCombobox,java,swing,jdbc,jcombobox,comboboxmodel,Java,Swing,Jdbc,Jcombobox,Comboboxmodel,我想从数据库中获取名称和id,并将其添加到JCombobox。为此我用了 public void add_Category(JComboBox cmb) { try { String query = "SELECT * FROM categories"; ResultSet rs = stmt.executeQuery(query); while (rs.next()) {
JCombobox
。为此我用了
public void add_Category(JComboBox cmb) {
try {
String query = "SELECT * FROM categories";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String Txtcmb = rs.getString(2).trim();
int idCmb = rs.getInt("id");
Item comboItem = new Item(idCmb, Txtcmb);
cmb.addItem(comboitem); //This line add only 1 object in combocox but i have 5 in my database
}
} catch(Exception e) {
}
}
Item.java
public class Item {
private int id;
private String description;
public Item(int id, String description) {
this.id = id;
this.description = description;
}
public int getId() {
return id;
}
public String toString() {
return description;
}
}
现在的问题是,当我将对象添加到组合框中时,它只添加一个对象,而我的数据库中有5个对象
它在组合框中只显示一项,而不是5项。如果我只在数据库中添加字符串,比如comboItem.addItem(Txtcmb),还有一件事需要澄清代码>然后它就可以正常工作了
任何想法都将不胜感激。提前感谢。谢谢大家。实际上,我使用的是Item comboItem[];在while和Item组合项之前=新项(idCmb、TXTMB);里面一会儿。当我删除项目comboItem[]时;线和清洁和建设我的项目再次然后开始工作。再次感谢您的关注。它只会添加的唯一原因是因为只有一个项目来自数据库…或者在处理第二个项目时发生了一些错误,但是,由于忽略了异常,您不知道如何打印idCmb
和TXTMB
,并查看您在resultset.model中得到的结果。JComboBox的模型应基于项(不完整),必须告诉ListCellRenderer显示描述(此处缺失),然后从JComboBox中选择返回ID,为了获得最好的解释代码,通过@camickr(由JComboBox标记)在帖子中搜索,那么可以在JComboBox中显示两个相同的项目,并且选择返回正确的坐标d表单模型,否则(DeafultComboxModel中的错误)不可能,选择返回最后一个或接近索引