【问题标题】:Stepping through JList with up and down keys使用向上和向下键单步执行 JList
【发布时间】:2013-02-24 03:23:40
【问题描述】:

我在 JScrollPane 中显示一个包含文件名的 JList。我想通过单击一行或使用向上和向下键来选择文件。

使用鼠标可以正常工作,但如果我选择一行,然后单击“向下”或“向上”,它会跳过一个条目,并选择下一行而不是一个。我想可能是键在弹跳,但每次击键只有一个键事件。

我一直在代码中添加跟踪,但我就是看不到我的问题!

我需要对ListModel 做点什么吗?非常感谢您的帮助!

【问题讨论】:

  • 如果您没有很快得到合适的答案,请考虑创建并发布sscce。如果可能,让我们使用真实的代码。
  • @PaulMorrison:我在下面引用了一个参考实现,并列出了一些要检查的事情。
  • 默认情况下,向上/向下键绑定将选择移动到上一个/下一个:您无事可做
  • @kleopatra - 当然 - 这解释了一切 - 谢谢一百万!但是,还要感谢垃圾神 - ListSelectionListener 也是答案的一部分!所以它现在工作得很好!我将在下面回答我的问题。

标签: java swing jlist


【解决方案1】:

您可以将您的方法与使用ListSelectionListener 的工作example 进行比较。特别要检查您对getValueIsAdjusting() 的使用。还要确认您不会干扰现有的key bindings,并且不要添加不必要的KeyListener。这个variation 如下图所示。

【讨论】:

    【解决方案2】:

    我只是想确保这个问题得到正式回答...... Kleopatra 指出向上和向下键是自动处理的,这解释了我跳过条目的原因。此外,我添加了一个 ListSelectionListener(由垃圾神建议)来为键处理添加一些特定于应用程序的逻辑。谢谢你们!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 2010-09-21
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 2022-11-17
      • 2012-08-20
      相关资源
      最近更新 更多