2009-07-16 61 views
0

我在我的项目中使用了GlazedLists(1.8)库,并且在我的组合框上一直无法正常工作。我在comboBox.getEditor().getEditorComponent()上安装了KeyListener以捕获用户点击输入时的情况,以便我可以根据他们在组合框中选择的项目执行某些操作。GlazedLists自动完成更改选择不起作用

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

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

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

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

+0

它在Windows上工作正常!确认! – Azlam 2009-12-08 20:15:02

回答

0

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

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

我建议你把一个简短而又甜美的示例应用程序放在一起,显示行为(甚至更好,单元测试 - 但这可能很难用按键),并发布到GL列表服务器上 - 确保包括mac与非mac的信息。当然,如果您有回应,请将其发回给后人:-)

您也可以在Mac上尝试不同的L & F(无论如何,我认为您可以这样做),然后查看问题是否仍然存在发生。至少会提供一些有关可能发生的事情的信息。