2009-07-16 4 views
0

J'utilise la bibliothèque GlazedLists (1.8) dans mon projet, et j'ai eu des problèmes pour que la saisie semi-automatique fonctionne correctement sur mes listes déroulantes. J'ai installé un KeyListener sur comboBox.getEditor().getEditorComponent() pour attraper quand un utilisateur frappe l'entrée, de sorte que je puisse faire quelque chose basé sur quel article ils choisissent dans la zone de liste déroulante.GlacedLists Remplissage automatique La modification de la sélection ne fonctionne pas

Je l'ai bien installé sur JComboBox, et le filtrage fonctionne, mais lorsque j'utilise les touches fléchées pour changer la sélection, un appel à comboBox.getSelectedItem() renvoie ce qui a été sélectionné avant d'utiliser les touches fléchées pour changer la sélection. En outre, lorsque cela se produit (à l'aide des touches fléchées), un appel à comboBox.getSelectedIndex() renvoie -1.

Je suppose que je n'ai pas à gérer les événements clés pour changer moi-même la sélection (cela devrait faire partie du code de GlazedLists), donc quelqu'un a-t-il une idée si c'est un bug ou si faire quelque chose de mal? J'ai googlé pendant un moment mais n'ai pas trouvé ce bug.

EDIT: Je suis presque sûr que c'est un bug maintenant. J'ai essayé de l'exécuter sur Windows et ça a bien fonctionné, mais ça semble s'étouffer sous OS X. Le LnF d'OS X semble causer beaucoup de bugs dans GlazedLists.

+0

Il fonctionne bien sur les fenêtres! Confirmé! – Azlam

Répondre

0

Avez-vous essayé votre keylistener avec un combobox qui n'est pas soutenu par une liste d'événements GlazedLists? D'après ce que vous décrivez, cela ressemble à un problème dans la vue (ou à l'ordre de déclenchement des événements, ou à la liste des sémantiques de verrouillage), plutôt qu'à un problème spécifique à GL ... Sans voir le code, c'est difficile dire.

Je suggérerais que vous compiliez un exemple d'application court et doux qui montre le comportement (ou mieux encore, un test unitaire - mais qui pourrait être difficile avec la frappe), et postez sur la liste de diffusion GL - soyez sûr pour inclure l'info de mac vs non-mac. Bien sûr, une fois que vous avez une réponse, le poster ici pour la postérité :-)

Vous pouvez également essayer un autre L & F sur le mac (je pense que vous pouvez le faire, de toute façon) et voir si le problème reste arrive. Cela au moins donnerait un aperçu de ce qui pourrait se passer.

Questions connexes