【问题标题】:How to learn about the internals of Swing keystroke handling如何了解 Swing 击键处理的内部结构
【发布时间】:2011-06-29 19:23:34
【问题描述】:

Swing 可能是令人沮丧的野兽。特别是如果您尝试使用它来设计一个“违背”Swing 设计师在设计 Swing 时使用的假设的应用程序。我们有要求将功能分配给不正常的击键。昨天,问题是JComboBoxJScrollPane 认为像 PageUp 和 PageDown 这样的键是“导航键”并抓住了这些键,尽管我们试图在这些组件具有焦点时将它们重新映射到其他用途。你可能会说,那是糟糕的设计,但这是我们的要求。甚至还有一些特殊的键盘,上面有指示这些功能重新映射的标签,我们必须满足这些要求。这就是生活。

今天,另一个问题出现了,JTextPane 似乎在获得焦点时抓住了 F6 键。当其他组件有焦点时,不是问题。什么鬼?

所以,我的问题很简单:是否有任何文档说明每种类型的 Swing 组件在常规InputMap/ActionMap 系统之外抓取和放置哪些击键,应用级程序员被敦促遵循?我知道这进一步取决于LookAndFeelMotif 中发生的情况可能与Metal 中发生的情况不同,等等。不过,即使深入到这个级别,这些东西是否记录在任何地方?我想知道这一点,所以我可能一开始就知道我的问题将出在哪里,而不是一次学习这个。如果我知道问题出在哪里,我就知道如何解决它们。但是我有源代码、java 文档,我就是不知道去哪里找。

【问题讨论】:

    标签: java swing look-and-feel key-bindings keystroke


    【解决方案1】:

    是否有任何文档说明每种类型的 Swing 组件在常规 InputMap/ActionMap 系统之外抓取和放置哪些击键,应用级程序员应遵循这些文档?

    没有我知道的文档。

    也许Key Bindings 列表会帮到你。

    【讨论】:

    • 谢谢!这正是我所需要的。
    • 我最喜欢的实用程序之一。
    【解决方案2】:

    文章Keypad Panel 链接到相关教程并展示了一个示例。

    【讨论】:

    • 对不起,这是基本的新手级别的东西。你甚至读过我的问题吗?
    猜你喜欢
    • 2019-01-08
    • 2010-09-21
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    相关资源
    最近更新 更多