java - 如何了解 Swing 击键处理的内部原理

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

Swing 可能是一个令人沮丧的野兽。特别是如果您试图用它来设计一个与 Swing 设计者在设计 Swing 时使用的假设“背道而驰”的应用程序。我们的要求是将功能分配给非常规的击键。昨天,问题是 JComboBoxJScrollPane 将 PageUp 和 PageDown 之类的键视为“导航键”,并捕获了这些键,尽管我们尝试将这些组件重新映射到其他用途有焦点。你可能会说,这是糟糕的设计,但这是我们的要求。甚至有特殊的键盘带有指示这些功能重新映射的标签,我们必须满足这些要求。这就是生活。

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

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

最佳答案

Is there any documentation on what keystrokes each type of Swing component is grabbing and placing outside the normal InputMap/ActionMap system that application level programmers are urged to follow?

据我所知,没有任何文档。

也许Key Bindings列表将为您提供帮助。

关于java - 如何了解 Swing 击键处理的内部原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526072/

相关文章:

java - AVD/SDK 管理器未运行(Windows 7 Java 1.7.0_40)

java - 暂停并等待单击按钮,然后继续

java - 如何删除在 JTabbedPane 中选择选项卡时出现的蓝色边框突出显示?

java - 垃圾收集器并清空 onDestroy 中的引用

java - Spring Security 3 中的累积过滤器

java - Swing 计时器问题 - 停止计时器

java - 如何设置未装饰的 JTattoo 外观 JFrame?

java - Nimbus Look And Feel 调整菜单栏的颜色

使用 BufferedImage 加载 Sprite 时出现 JAVA 错误

java - 如何重写 JFrame 中的 windowsClosing 事件