我在JScrollPane中显示包含文件名的JList。我想通过点击一行或使用向上和向下键来选择文件。
使用鼠标工作正常,但如果我选择一行,然后单击“向下”或“向上”,它会跳过一个条目,并选择下一行但只有一行。我想也许关键是弹跳,但每次击键只有一个关键事件。
我不断在代码中添加痕迹,但我无法看到我的问题!
我是否需要对ListModel
执行某些操作?非常感谢帮助!
答案 0 :(得分:3)
您可以将自己的方法与使用ListSelectionListener
的工作example进行比较。特别检查您对getValueIsAdjusting()
的使用情况。另外,请确认您不会干扰现有的key bindings,也不要添加不必要的KeyListener
。这个variation如下图所示。
答案 1 :(得分:1)
我只是想确保这个问题得到正式回答...... Kleopatra指出上下键是自动处理的,这就解释了我为什么要跳过条目。另外,我添加了一个ListSelectionListener(由trashgod建议),以便为密钥处理添加一些特定于应用程序的逻辑。谢谢你们两位!