从数据库中获取 ID 和数据并添加到 JCombobox
Posted
技术标签:
【中文标题】从数据库中获取 ID 和数据并添加到 JCombobox【英文标题】:Get Id and data from database and add to JCombobox 【发布时间】:2014-09-09 07:01:26 【问题描述】:我想从数据库中获取名称和 ID 并将其添加到 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);
,我想清除的另一件事是它可以正常工作
任何想法将不胜感激。提前致谢。
【问题讨论】:
它只会添加的唯一原因是因为只有一个项目来自数据库......或者在处理第二个项目时发生了一些错误,但是由于你忽略了你不会的异常不知道 尝试打印idCmb
和Txtcmb
,看看你的结果集中有多少结果。
JComboBox 的模型应该基于项目(不完整),必须告诉 ListCellRenderer 显示描述(缺少那里),然后从 JComboBox 中选择返回 ID,以获得最好的代码并提供很好的搜索解释@camickr 的帖子(由 JComboBox 标记)
除此之外,可以在 JComboBox 中显示两个相同的项目,并且选择返回正确的坐标 d 表单模型,否则(DeafultComboBoxModel 中的错误)是不可能的,选择返回最后一个或接近索引
【参考方案1】:
谢谢大家。实际上我正在使用 Item comboItem[];之前 while and and Item comboItem = new Item(idCmb, Txtcmb);里面一会儿。当我删除 Item comboItem[];再次清理并构建我的项目,然后它开始工作。再次感谢您的关心。
【讨论】:
以上是关于从数据库中获取 ID 和数据并添加到 JCombobox的主要内容,如果未能解决你的问题,请参考以下文章