2012-04-18 54 views
2

我有這個組合框,我想要的是每當我改變選擇,即對應於選擇放置在文本字段中的數字。最初,文本字段是空白的,當我選擇某個東西時,它顯示得很好,但它不會根據我的選擇而改變。ComboBox ActionListener Java

下面是操作方法:

private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) 
{ 
    jTextField1.setText(""); 
    Iterator<Product> it = warehouse.getStock().iterator(); 
    if(!warehouse.getStock().isEmpty()) 
    { 
    x: while(it.hasNext()) 
     { 
      Product temp = it.next(); 
      if(temp.getName().equals(jComboBox5.getSelectedItem())) 
      { 
       jTextField1.setText(Integer.toString(temp.getQuantity())); 
       break x; 
      } 

     } 
    } 
} 

如果需要的話我會添加額外的代碼。我能做什麼?

+1

*爲了更好地幫助越早,張貼[SSCCE](http://sscce.org/ )。 – 2012-04-18 10:02:56

+0

這個方法從哪裏調用? – 2012-04-18 10:04:16

回答

4

您會收到ActionEvent,而如果您想對選擇中的更改做出反應,您應該收到ItemEvent,方法是註冊ItemListener。然後,您可以檢查有這樣的代碼(未測試):「我如果需要添加額外的代碼」

if (event.getStateChange() == ItemEvent.SELECTED){ 
    jTextField1.setText(Integer.toString((Product) event.getItem())); 
}