我早些时候问了这个问题,但是也许你们中的一些人睡着了,就像我住在硅谷时可能很早的地方一样。 我的程序为箭头键分配了新功能,但是对于Swing显示的演示文稿的最后一部分,我需要它们在TextArea中正常运行,使光标等等。
有没有办法恢复默认值,或者通过AbstractAction再次分配光标的简单移动?
答案 0 :(得分:1)
我给你的原始答案显示了如何替换Action。如果需要恢复默认Action,则可能更容易为Action创建新的InputMap和ActionMap条目。我给你的Key Bindings链接显示了如何执行此操作。
然后,当您需要恢复默认操作时,您可以使用:
textField.getInputMap().put(keystroke, "none");
这将导致原始InputMap再次搜索。
在使用自定义Action更新ActionMap之前保存Action的另一种方法。类似的东西:
Action original = textField.getActionMap().get(...);
重新阅读Key Bindings链接以更好地了解InputMap和ActionMap的用法。