Module  java.desktop
软件包  java.awt

Class TextComponent

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializableAccessible
    已知直接子类:
    TextAreaTextField


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

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

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

    从以下版本开始:
    1.0
    另请参见:
    Serialized Form
    • 字段详细信息

      • textListener

        protected transient TextListener textListener
        将从此对象接收事件的侦听器列表。
    • 方法详细信息

      • enableInputMethods

        public void enableInputMethods​(boolean enable)
        启用或禁用此文本组件的输入法支持。 如果启用了输入法支持,并且文本组件也处理关键事件,则传入事件将提供给当前输入方法,并且只有由组件处理或者如果输入方法不使用它们则调度到其侦听器。 默认情况下,启用或禁用此文本组件的输入方法和输入方式是否依赖于实现。
        重写:
        enableInputMethodsComponent
        参数
        enable - true启用,false禁用
        从以下版本开始:
        1.2
        另请参见:
        Component.processKeyEvent(java.awt.event.KeyEvent)
      • addNotify

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

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

        public String getText​()
        返回此文本组件显示的文本。 默认情况下,这是一个空字符串。
        结果
        这个价值 TextComponent
        另请参见:
        setText(java.lang.String)
      • getSelectedText

        public String getSelectedText​()
        从由此文本组件呈现的文本中返回所选文本。
        结果
        该文本组件的选定文本
        另请参见:
        select(int, int)
      • isEditable

        public boolean isEditable​()
        指示此文本组件是否可编辑。
        结果
        true如果这个文本组件是可编辑的; false否则。
        从以下版本开始:
        1.0
        另请参见:
        setEditable(boolean)
      • setEditable

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

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

        参数
        b - 指示此文本组件是否可用户可编辑的标志。
        从以下版本开始:
        1.0
        另请参见:
        isEditable()
      • getBackground

        public Color getBackground​()
        获取此文本组件的背景颜色。 默认情况下,不可编辑的文本组件具有SystemColor.control的背景颜色。 这个默认值可以通过调用setBackground来重写。
        重写:
        getBackgroundComponent
        结果
        这个文本组件的背景颜色。 如果此文本组件没有背景颜色,则返回其父项的背景颜色。
        从以下版本开始:
        1.0
        另请参见:
        setBackground(Color)
      • setBackground

        public void setBackground​(Color c)
        设置此文本组件的背景颜色。
        重写:
        setBackgroundComponent
        参数
        c - 成为此文本组件颜色的颜色。 如果此参数为null,则此文本组件将继承其父级的背景颜色。
        从以下版本开始:
        1.0
        另请参见:
        getBackground()
      • getSelectionStart

        public int getSelectionStart​()
        获取此文本组件中所选文本的起始位置。
        结果
        所选文本的起始位置
        另请参见:
        setSelectionStart(int)getSelectionEnd()
      • setSelectionStart

        public void setSelectionStart​(int selectionStart)
        将此文本组件的选择开始设置为指定位置。 新的起点被限制在当前选择结束之前或之前。 它也不能设置为小于零,组件文本的开头。 如果调用者提供超出范围的值为selectionStart的值,该方法将静默地强制执行这些约束,并且不会失败。
        参数
        selectionStart - 所选文本的开始位置
        从以下版本开始:
        1.1
        另请参见:
        getSelectionStart()setSelectionEnd(int)
      • getSelectionEnd

        public int getSelectionEnd​()
        获取此文本组件中所选文本的最终位置。
        结果
        所选文本的结束位置
        另请参见:
        setSelectionEnd(int)getSelectionStart()
      • setSelectionEnd

        public void setSelectionEnd​(int selectionEnd)
        将此文本组件的选择结束设置为指定位置。 新的终点被限制在当前选择开始之后或之后。 它也不能超出组件文本的结尾。 如果调用者提供超出范围的值为selectionEnd ,则该方法将静默地强制执行这些约束,并且不会失败。
        参数
        selectionEnd - 所选文本的结束位置
        从以下版本开始:
        1.1
        另请参见:
        getSelectionEnd()setSelectionStart(int)
      • select

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

        该方法设置所选文本的开始和结束位置,强制开始位置必须大于或等于零的限制。 结束位置必须大于或等于起始位置,小于或等于文本组件文本的长度。 字符位置从零开始索引。 选择的长度为endPosition - startPosition ,因此未选择endPosition处的字符。 如果所选文本的开始和结束位置相等,则取消选择所有文本。

        如果调用者提供不一致或超出范围的值,则该方法将静默地强制执行这些约束,并且不会失败。 具体来说,如果起始位置或结束位置大于文本的长度,则将其重置为等于文本长度。 如果起始位置小于零,则将其复位为零,如果最终位置小于起始位置,则将其复位到起始位置。

        参数
        selectionStart - 要选择的第一个字符的零 selectionStart引( char值)
        selectionEnd - 要选择的文本的从零开始的最终位置; 字符( char在值) selectionEnd未选中
        另请参见:
        setSelectionStart(int)setSelectionEnd(int)selectAll()
      • selectAll

        public void selectAll​()
        选择此文本组件中的所有文本。
        另请参见:
        select(int, int)
      • setCaretPosition

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

        public int getCaretPosition​()
        返回文本插入插入符的位置。 插入位置被限制在0和文本的最后一个字符之间(包括)。 如果文本或插入符号未设置,默认插入位置为0。
        结果
        文本插入插入符的位置
        从以下版本开始:
        1.1
        另请参见:
        setCaretPosition(int)
      • getListeners

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

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

          TextListener[] tls = (TextListener[])(t.getListeners(TextListener.class)); 
        如果没有这样的侦听器存在,这个方法返回一个空数组。
        重写:
        getListenersComponent
        参数类型
        T - 听众的类型
        参数
        listenerType - 所请求的听众的类型; 此参数应指定从java.util.EventListener下降的接口
        结果
        在此文本组件上注册为 FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType没有指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getTextListeners()
      • processTextEvent

        protected void processTextEvent​(TextEvent e)
        通过将文本事件发送到任何已注册的TextListener对象来处理此文本组件上发生的文本事件。

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

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

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

        参数
        e - 文本事件
        另请参见:
        Component.enableEvents(long)
      • paramString

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

        public AccessibleContext getAccessibleContext​()
        获取与此TextComponent关联的AccessibleContext。 对于文本组件,AccessibleContext采用AccessibleAWTTextComponent的形式。 如有必要,将创建一个新的AccessibleAWTTextComponent实例。
        Specified by:
        getAccessibleContext在接口 Accessible
        重写:
        getAccessibleContextComponent
        结果
        作为此TextComponent的AccessibleContext的AccessibleAWTTextComponent
        从以下版本开始:
        1.3