¿Cómo puedo saber cuándo se ha cambiado el texto de un JComboBox editable?

Yo tengo uneditable JComboBox donde quiero realizar alguna acción cada vez que se cambia el texto, ya sea escribiendo o seleccionando. En este caso, el texto es un patrón y quiero verificar que el patrón sea válido y mostrar las coincidencias que resultan en algunos datos de prueba.

Habiendo hecho lo obvio, adjunte un ActionHandler, he encontrado que, para escribir, el evento parece dispararse de manera poco fiable, en el mejor de los casos (la selección está bien). Y cuandohace como resultado de la escritura, el texto recuperado (usando getEditor (). getItem (), ya que getSelectedItem () solo obtiene el texto cuando se seleccionó de la lista) parece ser el texto tal como estaba cuando se activó el último evento - es decir, siempre falta el carácter que se escribió inmediatamente antes de que se activara el evento de acción.

Esperaba que el evento de acción se disparara después de un breve retraso (500 ms a 1 segundo), pero parece que se disparó inmediatamente al teclear (si es que se dispara).

La única alternativa viable que se me ocurre es simplemente iniciar un temporizador de 1 segundo en enfoque ganado, eliminarlo en enfoque perdido y hacer el trabajo como acción del temporizador si el contenido es diferente al de la última vez.

¿Alguna idea o sugerencia?

Los fragmentos de código no son particularmente interesantes:

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta