2012-04-18 2 views
2

У меня есть этот ComboBox, и я хочу, чтобы всякий раз, когда я меняю выделение, число, соответствующее выделенной области, помещается в текстовое поле. Первоначально текстовое поле пустое, когда я что-то выбираю, он отображает его хорошо, но он не изменяется в соответствии с моим выбором.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/). –

+0

Где этот метод называется? –

ответ

4

Вы получаете ActionEvent, а вы должны получать ItemEvent, зарегистрировав ItemListener, если вы хотите отреагировать на изменения в выборе. Вы можете проверить есть код (не проверено): «Я добавить дополнительный код, если это необходимо»

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