Module java.desktop
Package javax.swing.text

Class TextAction

java.lang.Object
javax.swing.AbstractAction
javax.swing.text.TextAction
所有已实现的接口:
ActionListener, Serializable, Cloneable, EventListener, Action
直接已知的子类:
DefaultEditorKit.BeepAction, DefaultEditorKit.CopyAction, DefaultEditorKit.CutAction, DefaultEditorKit.DefaultKeyTypedAction, DefaultEditorKit.InsertBreakAction, DefaultEditorKit.InsertContentAction, DefaultEditorKit.InsertTabAction, DefaultEditorKit.PasteAction, StyledEditorKit.StyledTextAction

public abstract class TextAction extends AbstractAction
一个对于在多个不同文本组件之间共享的键绑定很有用的Action实现。因为该Action是共享的,它必须有一种方法来获取其要操作的目标。该类提供了支持以尝试找到要操作的文本组件的方法。获取组件以执行操作的首选方式是通过接收到的ActionEvent。如果getSource返回的对象可以缩小为文本组件,则将使用它。如果action事件为null或无法缩小,则尝试使用最后一个聚焦的文本组件。这是通过与安排与TextAction共享该信息的JTextController一起使用来确定的。

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同版本Swing的应用程序之间的RMI。从1.4开始,已将对所有JavaBeans的长期存储的支持添加到java.beans包中。请参阅XMLEncoder

  • Constructor Details

    • TextAction

      public TextAction(String name)
      创建一个新的JTextAction对象。
      参数:
      name - 操作的名称
  • Method Details

    • getTextComponent

      protected final JTextComponent getTextComponent(ActionEvent e)
      确定要用于该操作的组件。如果ActionEvent的源不为null且可以缩小,则从中获取。否则,使用最后一个聚焦的组件。
      参数:
      e - ActionEvent
      返回:
      组件
    • augmentList

      public static final Action[] augmentList(Action[] list1, Action[] list2)
      获取一个命令列表并用另一个命令列表增补它。第二个列表优先于第一个列表;也就是说,当两个列表都包含相同名称的命令时,将使用第二个列表中的命令。
      参数:
      list1 - 第一个列表,可以为空但不为null
      list2 - 第二个列表,可以为空但不为null
      返回:
      增补后的列表
    • getFocusedComponent

      protected final JTextComponent getFocusedComponent()
      获取当前具有焦点的文本组件。这允许在文本组件之间共享操作,对于定义了大量操作但通常在许多不同组件上以相同方式使用的键绑定很有用。
      返回:
      组件