Como posso saber quando o texto de um JComboBox editável foi alterado?

eu tenho umeditável JComboBox onde eu quero tomar alguma ação sempre que o texto é alterado, digitando ou seleção. Nesse caso, o texto é um padrão e quero verificar se o padrão é válido e mostrar as correspondências que resultam em alguns dados de teste.

Tendo feito o óbvio, anexar um ActionHandler, descobri que, para a digitação, o evento parece disparar de forma não confiável, na melhor das hipóteses (a seleção é boa). E quando issofaz fogo como resultado de digitação, o texto recuperado (usando getEditor (). getItem (), já que getSelectedItem () só obtém o texto quando foi selecionado da lista) parece ser o texto como era quando o último evento foi disparado - isto é, está sempre faltando que o caractere foi digitado imediatamente antes do evento de ação ser disparado.

Eu estava esperando o evento de ação para disparar após um pequeno atraso (500ms a 1 segundo), mas parece imediatamente acionado após a digitação (se é demitido de todo).

A única alternativa viável que eu posso pensar é simplesmente iniciar um temporizador de 1 segundo em foco ganho, matando-o em foco perdido e fazendo o trabalho como a ação do temporizador, se o conteúdo é diferente da última vez.

Alguma idéia ou sugestão?

Os trechos de código não são particularmente interessantes:

find.addActionListener(this);
...
public void actionPerformed(ActionEvent evt) {
    System.out.println("Find: "+find.getEditor().getItem());
    }

questionAnswers(3)

yourAnswerToTheQuestion