我在我的项目中使用了 GlazedLists (1.8) 库,并且在我的组合框上让自动完成功能正常工作时遇到了麻烦。我安装了一个KeyListener
oncomboBox.getEditor().getEditorComponent()
来捕捉用户按 Enter 键的时间,这样我就可以根据他们在组合框中选择的项目来做一些事情。
我将它安装在 JComboBox 上,并且过滤工作正常,但是当我使用箭头键更改选择时,调用comboBox.getSelectedItem()
返回在使用箭头键更改选择之前选择的内容。
此外,当这种情况发生时(使用箭头键),调用comboBox.getSelectedIndex()
返回-1
。
我会假设我不必处理关键事件来自己更改选择(这应该是 GlazedLists 代码的一部分),所以有人知道这是一个错误还是我做错了什么?我用谷歌搜索了一段时间,但没有找到这个错误。
编辑:我很确定这是一个错误。我尝试在 Windows 上运行它,它运行良好,但它似乎在 OS X 上窒息。OS X 的 LnF 似乎在 GlazedLists 中引起了很多错误。