Я использую библиотеку GlazedLists (1.8) в своем проекте, и у меня возникли проблемы с правильной работой автозаполнения в моих полях со списком. Я установил KeyListener
на comboBox.getEditor().getEditorComponent()
для перехвата, когда пользователь нажимает клавишу ввода, чтобы я мог что-то сделать в зависимости от того, какой элемент он выбрал в поле со списком.
Я установил его на JComboBox в порядке, и фильтрация работает, но когда я использую клавиши со стрелками для изменения выбора, вызов comboBox.getSelectedItem()
возвращает то, что было выбрано до использования клавиш со стрелками для изменения выбора.
Кроме того, когда это происходит (с помощью клавиш со стрелками), вызов comboBox.getSelectedIndex()
возвращает -1
.
Я бы предположил, что мне не нужно иметь дело с ключевыми событиями, чтобы изменить выбор самостоятельно (это должно быть частью кода GlazedLists), поэтому у кого-нибудь есть идеи, если это ошибка или я делаю что-то не так? Некоторое время я гуглил, но не нашел эту ошибку.
РЕДАКТИРОВАТЬ: Я вполне уверен, что это ошибка сейчас. Я попытался запустить его в Windows, и он работал нормально, но, похоже, он душит OS X. LnF в OS X, кажется, вызывает много ошибок в GlazedLists.