2010-01-24 62 views
0

我是.net c#程序员,想要学习Java这些天。我可以连接数据库,获取和写入数据与JDBC.But我如何填充JComboBox并设置其DisplayMember“PersonelName”和ValueMember“PersonelID”。在.NET中有像DisplayMember,DataSource,ValueMember这样的相关属性,我可以用displaymember显示personel的名字,当我写入数据时,我可以从valuemember属性中学习personel的id。但是在Java中没有像这样的属性。我如何获得PersonelID并在JCombobox中显示Personel名称? 有人可以给我一个例子。感谢名单。我在哪里可以找到在.NET ComboBox中找到的jComboBox中的功能?

回答

2

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

所以,如果你有一个企业人事类:

class Personel{ 
    String personelName; 
    int personelId; 
    //getters, setters 

    //This will be your display member 
    @Override 
    public String toString(){ 
     return this.personelName; 
    } 
} 

,并假定你获得通过JDBC所有的企业人事,并将它保存在一个新的载体,你可以这样做:

DefaultComboBoxModel comboModel = new DefaultComboBoxModel(personel); 
JComboBox myCombo = new JComboBox(comboModel); 

在运行时,您可以使用getModel和setModel来访问JComboBox模型。显示成员将是Personel的toString()方法。 value成员将是存储在DefaultComboBoxModel向量中的实际对象,在这种情况下是Personel实例。

我建议你看看ComboBoxModelDefaultComboBoxModel的API文档。

0

如何实际上不得不从组合框中显示不同值的组合框?

说一个组合框将显示personelId,另一个personalName?

相关问题