2010-01-24 57 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?

相關問題