我有一个来自数据库名为Author的表。AuthorId的类型是author increment,名称是我在Gui(NetBeans)中插入的。最后,我能够在JComboBox中显示所有名称。我怎么能显示其各自的id在一个文本字段,每次我从组合框点击作者?下面是我用来在组合框中显示来自数据库的名称的代码。我如何在其中一个项目中单击,并从数据库中获得其各自的iD ?
创建包含id
和name
的Object
,并将其传递给authorComboBox.addItem(new IdItem(1,"Test"));
IdItem类示例
public class IdItem {
private int id;
private String description;
public IdItem(int id, String description) {
this.id = id;
this.description = description;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String toString() {
if (description == null) {
return "";
}
return description;
}
public boolean equals(Object obj) {
if (obj instanceof IdItem) {
return ((IdItem) obj).getId() == this.getId();
}
return false;
}
public IdItem clone() {
return new IdItem(id, description);
}
}
注意我有override
toString()
,因为Combox
调用它来渲染项目。
当您调用getSelectedItem()
时,combobox
将返回所选的IdItem,因此您可以获得id。