模块 java.desktop
 java.awt

类 TextComponent

java.lang.Object
java.awt.Component
java.awt.TextComponent
所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible
已知子类:
TextArea , TextField

public sealed class TextComponent extends Component implements Accessible permits TextArea , TextField
TextComponent 类是任何允许编辑某些文本的组件的超类。

文本组件包含一串文本。 TextComponent 类定义了一组方法来确定此文本是否可编辑。如果组件是可编辑的,它会定义另一组支持文本插入插入符的方法。

此外,该类还定义了用于从文本中维护当前 selection 的方法。文本选择是组件文本的子字符串,是编辑操作的目标。它也被称为 selected text

密封类层次结构图:
Sealed class hierarchy graph for TextComponentSealed class hierarchy graph for TextComponent
自从:
1.0
参见:
  • 字段详细信息

    • textListener

      protected transient TextListener  textListener
      将从该对象接收事件的监听列表。
  • 方法详情

    • enableInputMethods

      public void enableInputMethods(boolean enable)
      启用或禁用此文本组件的输入方法支持。如果启用了输入方法支持并且文本组件也处理键事件,则传入事件将提供给当前输入方法,并且只有在输入方法不使用它们时才会由组件处理或分派给其监听。默认情况下是否启用或禁用此文本组件的输入方法支持以及如何启用取决于实现。
      重写:
      enableInputMethods 在类 Component
      参数:
      enable - true 启用,false 禁用
      自从:
      1.2
      参见:
    • addNotify

      public void addNotify()
      通过将此组件连接到本机屏幕资源,使其可显示。此方法由工具包内部调用,不应由程序直接调用。
      重写:
      addNotify 在类 Component
      参见:
    • removeNotify

      public void removeNotify()
      删除 TextComponent 的对等体。对等点允许我们修改 TextComponent 的外观而不更改其功能。
      重写:
      removeNotify 在类 Component
      参见:
    • setText

      public void setText(String  t)
      将此文本组件显示的文本设置为指定的文本。
      参数:
      t - 新文本;如果此参数为null,则文本设置为空字符串“”
      参见:
    • getText

      public String  getText()
      返回由此文本组件呈现的文本。默认情况下,这是一个空字符串。
      返回:
      这个TextComponent的值
      参见:
    • getSelectedText

      public String  getSelectedText()
      返回从此文本组件显示的文本中选择的文本。
      返回:
      此文本组件的选定文本
      参见:
    • isEditable

      public boolean isEditable()
      指示此文本组件是否可编辑。
      返回:
      true 如果这个文本组件是可编辑的; false否则。
      自从:
      1.0
      参见:
    • setEditable

      public void setEditable(boolean b)
      设置确定此文本组件是否可编辑的标志。

      如果标志设置为 true ,则此文本组件变为用户可编辑。如果标志设置为 false ,则用户无法更改此文本组件的文本。默认情况下,不可编辑的文本组件的背景颜色为 SystemColor.control。这个默认值可以通过调用 setBackground 来覆盖。

      参数:
      b - 指示此文本组件是否可供用户编辑的标志。
      自从:
      1.0
      参见:
    • getBackground

      public Color  getBackground()
      获取此文本组件的背景颜色。默认情况下,不可编辑的文本组件的背景颜色为 SystemColor.control。这个默认值可以通过调用 setBackground 来重写。
      重写:
      getBackground 在类 Component
      返回:
      此文本组件的背景颜色。如果此文本组件没有背景色,则返回其父组件的背景色。
      自从:
      1.0
      参见:
    • setBackground

      public void setBackground(Color  c)
      设置此文本组件的背景颜色。
      重写:
      setBackground 在类 Component
      参数:
      c - 成为此文本组件颜色的颜色。如果此参数为空,则此文本组件将继承其父组件的背景颜色。
      自从:
      1.0
      参见:
    • getSelectionStart

      public int getSelectionStart()
      获取所选文本在此文本组件中的起始位置。
      返回:
      所选文本的起始位置
      参见:
    • setSelectionStart

      public void setSelectionStart(int selectionStart)
      将此文本组件的选择起点设置为指定位置。新起点被限制在当前选择结束处或之前。它也不能设置为小于零,即组件文本的开头。如果调用者为 selectionStart 提供了一个越界的值,该方法会以静默方式强制执行这些约束,并且不会失败。
      参数:
      selectionStart - 所选文本的起始位置
      自从:
      1.1
      参见:
    • getSelectionEnd

      public int getSelectionEnd()
      获取所选文本在此文本组件中的结束位置。
      返回:
      所选文本的结束位置
      参见:
    • setSelectionEnd

      public void setSelectionEnd(int selectionEnd)
      将此文本组件的选择结束设置为指定位置。新的终点被限制在当前选择开始处或之后。它也不能设置在组件文本的末尾之外。如果调用者为 selectionEnd 提供了一个越界的值,该方法会以静默方式强制执行这些约束,并且不会失败。
      参数:
      selectionEnd - 所选文本的结束位置
      自从:
      1.1
      参见:
    • select

      public void select(int selectionStart, int selectionEnd)
      选择指定开始和结束位置之间的文本。

      此方法设置所选文本的开始和结束位置,强制执行开始位置必须大于或等于零的限制。结束位置必须大于或等于开始位置,且小于或等于文本组件的文本长度。字符位置从零开始索引。选择的长度是 endPosition - startPosition ,所以 endPosition 处的字符没有被选中。如果所选文本的开始和结束位置相等,则取消选择所有文本。

      如果调用者提供不一致或越界的值,该方法会以静默方式强制执行这些约束,不会失败。具体来说,如果开始位置或结束位置大于文本长度,则将其重置为等于文本长度。如果起始位置小于零,则重置为零,如果结束位置小于起始位置,则重置为起始位置。

      参数:
      selectionStart - 要选择的第一个字符(char 值)的从零开始的索引
      selectionEnd - 要选择的文本的从零开始的结束位置;未选择 selectionEnd 处的字符(char 值)
      参见:
    • selectAll

      public void selectAll()
      选择此文本组件中的所有文本。
      参见:
    • setCaretPosition

      public void setCaretPosition(int position)
      设置文本插入符号的位置。插入符号位置被限制在 0 和文本的最后一个字符之间,包括在内。如果传入的值大于此范围,则该值设置为最后一个字符(如果 TextComponent 不包含文本,则设置为 0)并且不返回错误。如果传入的值小于 0,则抛出 IllegalArgumentException
      参数:
      position - 文本插入符号的位置
      抛出:
      IllegalArgumentException - 如果 position 小于零
      自从:
      1.1
    • getCaretPosition

      public int getCaretPosition()
      返回文本插入符号的位置。插入符号位置被限制在 0 和文本的最后一个字符之间,包括在内。如果未设置文本或插入符号,则默认插入符号位置为 0。
      返回:
      文本插入符号的位置
      自从:
      1.1
      参见:
    • addTextListener

      public void addTextListener(TextListener  l)
      添加指定的文本事件监听器以接收来自此文本组件的文本事件。如果 lnull ,则不会抛出异常并且不会执行任何操作。

      有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题

      参数:
      l - 文本事件监听器
      参见:
    • removeTextListener

      public void removeTextListener(TextListener  l)
      移除指定的文本事件监听器,使其不再接收来自该文本组件的文本事件。

      有关 AWT 线程模型的详细信息,请参阅 AWT 线程问题

      参数:
      l - 文本监听器
      自从:
      1.1
      参见:
    • getTextListeners

      public TextListener [] getTextListeners()
      返回在此文本组件上注册的所有文本监听的数组。
      返回:
      此文本组件的所有 TextListener s 或空数组(如果当前没有注册文本监听器)
      自从:
      1.4
      参见:
    • getListeners

      public <T extends EventListener > T[] getListeners(Class <T> listenerType)
      返回当前在此 TextComponent 上注册为 FooListener 的所有对象的数组。 FooListener 是使用 addFooListener 方法注册的。

      您可以使用类文字指定 listenerType 参数,例如 FooListener.class 。例如,您可以使用以下代码查询 TextComponent t 的文本监听器:

      TextListener[] tls = (TextListener[])(t.getListeners(TextListener.class));
      如果不存在这样的监听器,则此方法返回一个空数组。
      重写:
      getListeners 在类 Component
      类型参数:
      T - 监听器的类型
      参数:
      listenerType - 请求的监听器类型;此参数应指定从 java.util.EventListener 派生的接口
      返回:
      在此文本组件上注册为 FooListener 的所有对象的数组,如果没有添加此类监听器,则为空数组
      抛出:
      ClassCastException - 如果 listenerType 没有指定实现 java.util.EventListener 的类或接口
      自从:
      1.3
      参见:
    • processEvent

      protected void processEvent(AWTEvent  e)
      处理此文本组件上的事件。如果事件是 TextEvent ,它会调用 processTextEvent 方法,否则它会调用其超类的 processEvent

      请注意,如果事件参数为 null,则行为未指定且可能导致异常。

      重写:
      processEvent 在类 Component
      参数:
      e - 事件
      参见:
    • processTextEvent

      protected void processTextEvent(TextEvent  e)
      通过将发生在该文本组件上的文本事件分派给任何已注册的 TextListener 对象来处理它们。

      注意:除非为此组件启用了文本事件,否则不会调用此方法。当发生以下情况之一时,就会发生这种情况:

      • TextListener 对象通过 addTextListener 注册
      • 文本事件通过enableEvents启用

      请注意,如果事件参数为 null,则行为未指定且可能导致异常。

      参数:
      e - 文本事件
      参见:
    • paramString

      protected String  paramString()
      返回表示此 TextComponent 状态的字符串。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是 null
      重写:
      paramString 在类 Component
      返回:
      此文本组件的参数字符串
    • getAccessibleContext

      public AccessibleContext  getAccessibleContext()
      获取与此 TextComponent 关联的 AccessibleContext。对于文本组件,AccessibleContext 采用 AccessibleAWTTextComponent 的形式。如有必要,将创建一个新的 AccessibleAWTTextComponent 实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      重写:
      getAccessibleContext 在类 Component
      返回:
      作为此 TextComponent 的 AccessibleContext 的 AccessibleAWTTextComponent
      自从:
      1.3