2015-10-16 79 views
1

我有一個名爲Author的數據庫表。 AuthorId是類型作者增量和我在Gui(NetBeans)中插入的名稱。畢竟我能夠在JComboBox中顯示所有的名字。如何在每次單擊comboBox中的作者時在文本字段中顯示其相應的ID? Below is the code that i used in order to display the names coming from the database into the comboBox. how do i do to click in oone of the items and get its respective iD from the database?Java應用程序數據庫

+0

我用下面的代碼從數據庫中獲取所有的名字並放在一個組合框中。我現在掙扎的是每次單擊組合框時都能夠獲得相應的AuthorId: conn = Connect.ConnectDB(); pst = conn.prepareStatement(「Select * from Author」); rs = pst.executeQuery(); while(rs.next()) authorId = rs.getInt(「AuthorId」); String authorName = rs.getString(「AuthorName」); authorComboBox.addItem(authorName); } –

+2

請使用此信息編輯您的文章。它是1)不是評論,2)以這種格式不可讀。 – CollinD

回答

0

創建Object持有兩個idname,並通過這IdItem類的authorComboBox.addItem(new IdItem(1,"Test"));

public class IdItem { 
    private int id; 
    private String description; 

    public IdItem(int id, String description) { 
     this.id = id; 
     this.description = description; 
    } 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public String getDescription() { 
     return description; 
    } 

    public void setDescription(String description) { 
     this.description = description; 
    } 

    public String toString() { 
     if (description == null) { 
      return ""; 
     } 
     return description; 
    } 

    public boolean equals(Object obj) { 
     if (obj instanceof IdItem) { 
      return ((IdItem) obj).getId() == this.getId(); 
     } 
     return false; 
    } 

    public IdItem clone() { 
     return new IdItem(id, description); 
    } 
} 

注意我有overridetoString()Combox調用這渲染該項目。

當您撥打getSelectedItem()時,combobox將返回選定的IdItem,因此您可以獲得該ID。

相關問題