Comment puis-je savoir quand le texte éditable JComboBox a été changé?

J'ai un modifiable JComboBox où j'ai envie de prendre un peu d'action à chaque fois que le texte est modifié, soit par saisie ou la sélection. Dans ce cas, le texte est un modèle et je veux vérifier que le modèle est valide et des matchs qui entraînent des données de test.

Avoir fait évident, joindre une ActionHandler, j'ai trouvé que, pour la saisie, l'événement semble à feu mal, au mieux (la sélection est très bien). Et quand il ne feu comme un résultat de la saisie, le texte récupéré (à l'aide de getEditor().getItem(), puisque getSelectedItem() n'obtient que le texte quand il a été sélectionné dans la liste) semble être le texte tel qu'il était lors de la dernière épreuve a été licencié, c'est toujours manquant le caractère a été tapé immédiatement avant l'action de l'événement a été déclenché.

Je m'attendais à l'événement d'action pour le feu après un certain délai court (500 ms à 1 seconde), mais il semble immédiatement ouvert le feu sur l'incrustation (s'il est utilisé à tous).

La seule alternative possible, je peux penser à est de simplement commencer une 1 seconde minuterie sur focus-gagné, le tuant sur l'objet-perdu et de faire le travail que la minuterie d'action si le contenu est différent de la dernière fois.

Des idées ou des suggestions?

Les extraits de code ne sont pas particulièrement intéressants:

find.addActionListener(this);
...
public void actionPerformed(ActionEvent evt) {
    System.out.println("Find: "+find.getEditor().getItem());
    }
InformationsquelleAutor Lawrence Dol | 2009-08-10