我在哪里可以找到.NET ComboBox中的jComboBox中的功能?

时间:2010-01-24 23:10:23

标签: c# java jcombobox

我是想要学习Java的.net C#程序员。我可以连接DB,使用JDBC获取和写入数据。但是如何填写JComboBox并将其DisplayMember设置为“PersonelName”和ValueMember“PersonelID”?

在.NET中有相关的属性,如DisplayMember,DataSource,ValueMember,我可以用displaymember显示personel的名字,当我写入数据时,我可以从valuemember属性中学习人员的id。但在Java中没有这样的属性。如何在Java中获取PersonelID并在JCombobox中显示Personel Name?

有人会举个例子吗?

2 个答案:

答案 0 :(得分:2)

JComboBox构造函数可以将ComboBoxModel作为参数。 DefaultComboBoxModel是ComboBoxModel接口的具体实现。

所以,如果你有一个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()方法。值成员将是存储在DefaultComboBoxModel向量中的实际对象,在本例中是Personel实例。

我建议您查看ComboBoxModelDefaultComboBoxModel的API文档。

答案 1 :(得分:0)

如何真正拥有可以显示Personell不同值的组合框?

假设一个组合框会显示personelId,另一个个人名称?