【发布时间】:2011-06-29 19:23:34
【问题描述】:
Swing 可能是令人沮丧的野兽。特别是如果您尝试使用它来设计一个“违背”Swing 设计师在设计 Swing 时使用的假设的应用程序。我们有要求将功能分配给不正常的击键。昨天,问题是JComboBox 和JScrollPane 认为像 PageUp 和 PageDown 这样的键是“导航键”并抓住了这些键,尽管我们试图在这些组件具有焦点时将它们重新映射到其他用途。你可能会说,那是糟糕的设计,但这是我们的要求。甚至还有一些特殊的键盘,上面有指示这些功能重新映射的标签,我们必须满足这些要求。这就是生活。
今天,另一个问题出现了,JTextPane 似乎在获得焦点时抓住了 F6 键。当其他组件有焦点时,不是问题。什么鬼?
所以,我的问题很简单:是否有任何文档说明每种类型的 Swing 组件在常规InputMap/ActionMap 系统之外抓取和放置哪些击键,应用级程序员被敦促遵循?我知道这进一步取决于LookAndFeel,Motif 中发生的情况可能与Metal 中发生的情况不同,等等。不过,即使深入到这个级别,这些东西是否记录在任何地方?我想知道这一点,所以我可能一开始就知道我的问题将出在哪里,而不是一次学习这个。如果我知道问题出在哪里,我就知道如何解决它们。但是我有源代码、java 文档,我就是不知道去哪里找。
【问题讨论】:
标签: java swing look-and-feel key-bindings keystroke