我是 .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 .


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!