ComboBox.ItemListener x focus

1 resposta
E

Ola,

Eu criei um evento associado a um combobox para checar se ele mudou ou nao de valor:

<code>

((JComboBox) comp).addItemListener(new ItemListener() {

public void itemStateChanged(ItemEvent e) {

JComboBox comp = (JComboBox) e.getSource();

Object item = e.getItem();

if (e.getStateChange() == ItemEvent.SELECTED) {

comboboxSelected(comp); // metodo para checar…

} else if (e.getStateChange() == ItemEvent.DESELECTED) {

// Item is no longer selected

}

}

});

</code>

O evento esta funcionando na maior parte do tempo…

Quando eu estou fora do combobox e nao mexi nele, nada acontece… o que esta certo, nao tem que chamar o evento mesmo.

Agora se o campo tem o foco, e eu simplesmente eu saio da tela, o Swing acha que tem que chamar o evento, com SELECTED, e fica avisando que o campo mudou de valor, sendo que nao mudou.

O que pode ser?

1 Resposta

E

Outra coisa: se eu simplesmente sair do campo, ou seja, ele perde o foco, tambem chama o evento… se tivesse um ChangeListener ou ItemChangeListener ou algo do tipo:
if (e.getStateChange() == ItemEvent.CHANGED)
seria muito mais claro e eficaz!
Este SELECTED nao esta tendo um comportamento normal…

Criado 26 de outubro de 2004
Ultima resposta 26 de out. de 2004
Respostas 1
Participantes 1