我在 JScrollPane 中显示一个包含文件名的 JList。我想通过单击一行或使用向上和向下键来选择文件。
使用鼠标可以正常工作,但是如果我选择一行,然后单击“向下”或“向上”,它会跳过一个条目,并选择下一行,而不是一个。我想也许键在弹跳,但每次击键只有一个键事件。
我不断在代码中添加跟踪,但我就是看不到我的问题!
我需要做些什么ListModel
吗?非常感谢您的帮助!
您可以将您的方法与使用ListSelectionListener
. 特别要检查您对getValueIsAdjusting()
. 还要确认您不干扰现有的键绑定,并且不要添加不必要的KeyListener
。这种变化如下图所示。
我只是想确保这个问题得到正式回答...... Kleopatra 指出向上和向下键是自动处理的,这解释了我为什么跳过条目。另外,我添加了一个 ListSelectionListener(由垃圾神推荐)来为键处理添加一些特定于应用程序的逻辑。感谢你们俩!