【发布时间】:2012-08-15 16:24:41
【问题描述】:
我需要创建一个从JTextComponent(实际上是JTextPane)派生的类,其中至少有一个默认键映射被更改。也就是说,在我的特殊 JTextPane 中,我希望 ">" 击键来执行操作,而不是将该字符添加到文本窗格中,因为默认情况下会处理所有可打印的键入字符。
为了阻止正常行为,有以下 API:
-
JTextComponent.getKeymap() Keymap.addActionForKeyStroke()JTextComponent.setKeymap()
但是,我发现尽管这些方法不是静态的,但它们确实会影响我的应用程序中所有 JTextComponents 使用的键盘映射。没有可以克隆 Keymap 的简单机制,这可能会解决问题,或者我错过了什么。
我所追求的是一种为我的JTextPane 类而不是所有JTextComponent 派生类更改键盘映射的方法。
或者我应该去别处寻找?
【问题讨论】:
-
这是一个很棒的问题,做得很好。虽然它没有直接回答问题,但请查看stackoverflow.com/questions/9610386/… 以了解其他人在类似情况下所做的示例。艾默里克走在正确的轨道上
标签: java swing keymapping jtextcomponent