0

我在我的项目中使用了 GlazedLists (1.8) 库,并且在我的组合框上让自动完成功能正常工作时遇到了麻烦。我安装了一个KeyListeneroncomboBox.getEditor().getEditorComponent()来捕捉用户按 Enter 键的时间,这样我就可以根据他们在组合框中选择的项目来做一些事情。

我将它安装在 JComboBox 上,并且过滤工作正常,但是当我使用箭头键更改选择时,调用comboBox.getSelectedItem()返回在使用箭头键更改选择之前选择的内容。

此外,当这种情况发生时(使用箭头键),调用comboBox.getSelectedIndex()返回-1

我会假设我不必处理关键事件来自己更改选择(这应该是 GlazedLists 代码的一部分),所以有人知道这是一个错误还是我做错了什么?我用谷歌搜索了一段时间,但没有找到这个错误。

编辑:我很确定这是一个错误。我尝试在 Windows 上运行它,它运行良好,但它似乎在 OS X 上窒息。OS X 的 LnF 似乎在 GlazedLists 中引起了很多错误。

4

1 回答 1

0

您是否尝试过使用不受 GlazedLists 事件列表支持的组合框的 keylistener?

根据您的描述,这听起来像是视图中的问题(或者只是事件触发的顺序,或列表锁定语义),而不是专门针对 GL 的问题......没有看到代码,很难说。

我建议您将一个简短而有趣的示例应用程序放在一起,以显示行为(或者甚至更好,一个单元测试 - 但击键可能很难),然后发布到 GL listserv - 一定要包含信息mac 与非 mac 的对比。当然,一旦您有回复,请将其发回此处以供后代使用:-)

您也可以在 mac 上尝试不同的 L&F(我认为您可以这样做),看看问题是否仍然存在。这至少会为可能发生的事情提供一些见解。

于 2009-07-17T03:58:51.800 回答