Usando o netbans, criei um ActionPerformed para um jComboBox EDITÁVEL.
A ideia seria ao clicar em algum item do jComboBox jcbNome, seria verificado se o item existe na lista do jComboBox(logicamente ele existe), mas também quando o usuário digitar o nome ao invés de buscar na lista, também seria verificado se o nome digitado existe (este é o verdadeiro objetivo).
O problema é que quando o o usuario digita um nome que não existe na lista e o jComboBox perde o focu, o método " jcbNomeActionPerformed" é chamado sempre duas vezes (imprimindo"—nao" duas vezes) ao invés de apenas uma vez.
private void jcbNomeActionPerformed(java.awt.event.ActionEvent evt) {
if (!this.jcbNome.getSelectedItem().toString().isEmpty()) {
Cliente c= cExistente();
if (c != null) {
System.out.print("---encontrou");
} else {
System.out.print("---nao");
}
}
}
private Cliente cExistente(){
Cliente cEncontrado = null;
for (Iterator<Cliente> it = this.listaCliente.iterator(); it.hasNext();){
Cliente c = it.next();
if(c.getNome().equals(this.jcbNome.getSelectedItem().toString())){
return c ;
}
}
return null;
}
