如何使用TextAction
从AbstractAction使用TextAction的目的是什么? 以及如何将其用于以下内容:
-
插入符号
-
在JTextComponents中的选择
-
键绑定
在撰写这个答案时 ,我回忆起Charles Bell的一个古老的HTMLDocumentEditor
,它说明了javax.swing.text.TextAction
中的子类的典型用法。 该编辑器列在Metaphase Editor
的学分中。 显示StyledEditorKit
操作的相关示例遵循相同的方法。 所有这些操作都适用于键绑定 ,并且只要可能,所有这些操作都将根据Caret
维护的当前选择进行操作。
来自Java Swing第2版 :
所有文本组件共享一组默认操作。 默认情况下,每个Actions都是TextAction的实例。 JTextComponent提供了一个私有静态EditorKit,它由一组四个预构建的TextActions组成,这些TextActions由所有文本组件通过使用默认的Keymap实例共享。
JTextComponent维护对最近具有键盘焦点的文本组件的私有引用。 TextActions旨在利用这一点,并且在调用事件的源不是文本组件的情况下调用时,每个TextAction都将对此组件进行操作。
以下是一些实现TextAction的示例:
自定义编辑命令
寻找单词边界