如何使用TextAction

mKo*_*bel 5 java swing action key-bindings jtextcomponent

AbstractAction使用TextAction的目的是什么?以及如何将其用于以下内容:

ten*_*ica 6

来自Java Swing第2版:

所有文本组件共享一组默认操作.默认情况下,每个Actions都是TextAction的实例.JTextComponent提供了一个私有静态EditorKit,它由一组四个预构建的TextActions组成,这些TextActions由所有文本组件通过使用默认的Keymap实例共享.

JTextComponent维护对最近具有键盘焦点的文本组件的私有引用.TextActions旨在利用这一点,并且在调用事件的源不是文本组件的情况下调用时,每个TextAction都将对此组件进行操作.

以下是一些实现TextAction的示例:

自定义编辑命令

寻找单词边界

  • 这是一个相关的[示例](http://stackoverflow.com/a/8534162/230513),显示在`StyledEditorKit`中找到的操作. (2认同)

tra*_*god 3

在撰写这个答案时,我想起了HTMLDocumentEditorCharles Bell 的一篇著名文章,它说明了 中子类的典型用法javax.swing.text.TextAction。该编辑器被列在 的制作人员名单中Metaphase Editor。此相关示例显示了在中找到的操作,StyledEditorKit遵循相同的方法。所有此类操作都适用于Key BindingsCaret ,并且只要可能,所有操作都对由 维护的当前选择进行操作。