2014-07-06 35 views
1

我有一個組合框,我想用對象填充它。在java中列出組合框中的對象

我已經嘗試過,但我無法做到。

搖擺java程序:

String query="select ProductId,Productname from maintable"; 
    PreparedStatement pstmt = null; 
    pstmt = con.prepareStatement(query); 
    ResultSet res=pstmt.executeQuery(); 

    while(res.next()) 
    { 
     String productName = res.getString(1); 
     String productId = res.getString(2); 
     comboitem comboval = new comboitem(productId, productName); 
     combo.addElement(comboval); // ERROR 
    } 

類的ComboItem是與被創建的對象的類。

public class comboitem 
{ 

private String productId; 
    private String productName; 

    public comboitem (String productId, String productName) 
    { 
     this.productId = productId; 
     this.productName = productName; 
    } 

    public String getProductId() { 
     return productId; 
    } 

    public String getProductName() { 
     return productName; 
    } 

    @Override 
    public String toString() { 
     return productName; 
    } 

} 

我在這裏使用CComboBox。我可以列出CComboBox中的對象嗎?

+1

* //錯誤*:哪個錯誤?什麼是CComboBox?它的javadoc在哪裏?另外,comboitem應該命名爲ComboItem。 –

+0

組合定義在哪裏? – Typo

回答

1

您標記爲Java,所以我打算假設您的意思是JComboBox而不是C++ CComboBox。也就是說,我可以看到唯一的錯誤是由於那個方法調用而產生的,再次假設comboJComboBoxJComboBox沒有addElement方法。您可能的意思是使用DefaultComboBoxModel,其中確實有addElement方法。所以,你應該這樣做

MutableComboBoxModel<comboitem> model = new DefaultComboBoxModel<comboitem>(); 
while(res.next()) 
{ 
    String productName = res.getString(1); 
    String productId = res.getString(2); 
    comboitem comboval = new comboitem(productId, productName); 
    model.addElement(comboval); // ERROR 
} 
combo.setModel(model); 

旁白: