我是 .net C# 程序员,想学习 Java。我可以连接数据库,使用 JDBC 获取和写入数据。但是如何填充 JComboBox 并设置其 DisplayMember“PersonelName”和 ValueMember“PersonelID”?
在.NET中有相关属性,如DisplayMember、DataSource、ValueMember,我可以使用displaymember显示人员的姓名,当我写入数据时,我可以从valuemember属性中了解人员的ID。但在Java中没有这样的属性。如何在 Java 中的 JCombobox 中获取 PersonelID 并显示人员姓名?
有人能给我举个例子吗?
请您参考如下方法:
JComboBox 构造函数可以采用 ComboBoxModel 作为参数。 DefaultComboBoxModel 是 ComboBoxModel 接口(interface)的具体实现。
所以,如果你有一个 Personel 类:
class Personel{
String personelName;
int personelId;
//getters, setters
//This will be your display member
@Override
public String toString(){
return this.personelName;
}
}
假设您通过 JDBC 获取了所有人员并将其存储在新的 Vector 中,您可以执行以下操作:
DefaultComboBoxModel comboModel = new DefaultComboBoxModel(personel);
JComboBox myCombo = new JComboBox(comboModel);
在运行时,您可以通过 getModel 和 setModel 来访问 JComboBox 模型。显示成员将是 Personel 的 toString() 方法。 value 成员将是存储在 DefaultComboBoxModel vector 中的实际对象,在本例中是 Personel 实例。
我建议你看一下ComboBoxModel的API文档和 DefaultComboBoxModel .