模块  java.desktop
软件包  java.awt

Class TextField

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    public class TextField
    extends TextComponent
    TextField对象是一个文本组件,允许编辑单行文本。

    例如,下图描绘了具有四个不同宽度的文本字段的帧。 其中两个文本字段显示预定义文本"Hello"

    前面的文字描述了这个图像。

    以下是生成这四个文本字段的代码:


     TextField tf1, tf2, tf3, tf4;
     // a blank text field
     tf1 = new TextField();
     // blank field of 20 columns
     tf2 = new TextField("", 20);
     // predefined text displayed
     tf3 = new TextField("Hello!");
     // predefined text in 30 columns
     tf4 = new TextField("Hello", 30);
     

    每次用户在文本字段中键入键时,都会将一个或多个键事件发送到文本字段。 A KeyEvent可以是以下三种类型之一:keyPressed,keyReleased或keyTyped。 键事件的属性指示它们是哪种类型,以及有关事件的其他信息,例如应用于键事件的修饰符和事件发生的时间。

    键事件将传递给每个KeyListenerKeyAdapter对象,该对象使用组件的addKeyListener方法注册接收此类事件。 KeyAdapter对象实现了KeyListener接口。)

    也可以发射ActionEvent 如果为文本字段启用了操作事件,则可以通过按Return键来触发它们。

    TextField类的processEvent方法检查操作事件并将其传递给processActionEvent 后一种方法将事件重定向到已注册接收此文本字段生成的操作事件的任何ActionListener对象。

    从以下版本开始:
    1.0
    另请参见:
    KeyEventKeyAdapterKeyListenerActionEventComponent.addKeyListener(java.awt.event.KeyListener)processEvent(java.awt.AWTEvent)processActionEvent(java.awt.event.ActionEvent)addActionListener(java.awt.event.ActionListener)Serialized Form
    • 构造方法详细信息

      • TextField

        public TextField​(String text)
                  throws HeadlessException
        构造使用指定文本初始化的新文本字段。
        参数
        text - 要显示的文本。 如果textnull ,将显示空字符串"" 如果text包含EOL和/或LF字符,则每个字符都将替换为空格字符。
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
      • TextField

        public TextField​(int columns)
                  throws HeadlessException
        构造具有指定列数的新空文本字段。 列是与平台相关的近似平均字符宽度。
        参数
        columns - 列数。 如果columns小于0columns设置为0
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
      • TextField

        public TextField​(String text,
                         int columns)
                  throws HeadlessException
        构造一个使用要显示的指定文本初始化的新文本字段,并且宽度足以容纳指定数量的列。 列是与平台相关的近似平均字符宽度。
        参数
        text - 要显示的文本。 如果textnull ,将显示空字符串"" 如果text包含EOL和/或LF字符,则每个字符都将替换为空格字符。
        columns - 列数。 如果columns小于0 ,则columns设置为0
        异常
        HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
        另请参见:
        GraphicsEnvironment.isHeadless()
    • 方法详细信息

      • getEchoChar

        public char getEchoChar()
        获取要用于回显的字符。

        回显字符对于不应将用户输入回显到屏幕的文本字段很有用,例如输入密码的文本字段。 如果echoChar = 0 ,则用户输入将不变地回显到屏幕。

        Java平台实现可能仅支持有限的非空回声字符集。 此函数返回最初通过setEchoChar()请求的echo字符。 TextField实现实际使用的echo字符可能不同。

        结果
        此文本字段的回显字符。
        另请参见:
        echoCharIsSet()setEchoChar(char)
      • setEchoChar

        public void setEchoChar​(char c)
        设置此文本字段的回显字符。

        回显字符对于不应将用户输入回显到屏幕的文本字段很有用,例如输入密码的文本字段。 设置echoChar = 0允许用户输入再次回显到屏幕。

        Java平台实现可能仅支持有限的非空回声字符集。 尝试设置不受支持的回显字符将导致使用默认回显字符。 对getEchoChar()的后续调用将返回最初请求的echo字符。 这可能与TextField实现实际使用的echo字符相同,也可能不同。

        参数
        c - 此文本字段的回显字符。
        从以下版本开始:
        1.1
        另请参见:
        echoCharIsSet()getEchoChar()
      • setEchoCharacter

        @Deprecated
        public void setEchoCharacter​(char c)
        Deprecated.
        As of JDK version 1.1, replaced by setEchoChar(char).
        设置显示受保护输入时要回显的字符。
        参数
        c - 此文本字段的回显字符
      • setText

        public void setText​(String t)
        将此文本组件显示的文本设置为指定的文本。
        重写:
        setText在类 TextComponent
        参数
        t - 新文本。 如果tnull ,将显示空字符串"" 如果t包含EOL和/或LF字符,则每个字符将替换为空格字符。
        另请参见:
        TextComponent.getText()
      • echoCharIsSet

        public boolean echoCharIsSet()
        指示此文本字段是否具有用于回显的字符集。

        回显字符对于不应将用户输入回显到屏幕的文本字段很有用,例如输入密码的文本字段。

        结果
        true如果此文本字段具有用于回显的字符集; 否则为false
        另请参见:
        setEchoChar(char)getEchoChar()
      • getColumns

        public int getColumns()
        获取此文本字段中的列数。 列是与平台相关的近似平均字符宽度。
        结果
        列数。
        从以下版本开始:
        1.1
        另请参见:
        setColumns(int)
      • setColumns

        public void setColumns​(int columns)
        设置此文本字段中的列数。 列是与平台相关的近似平均字符宽度。
        参数
        columns - 列数。
        异常
        IllegalArgumentException - 如果为 columns提供的值小于 0
        从以下版本开始:
        1.1
        另请参见:
        getColumns()
      • getPreferredSize

        public Dimension getPreferredSize​(int columns)
        获取具有指定列数的此文本字段的首选大小。
        参数
        columns - 此文本字段中的列数。
        结果
        显示此文本字段的首选尺寸。
        从以下版本开始:
        1.1
      • preferredSize

        @Deprecated
        public Dimension preferredSize​(int columns)
        Deprecated.
        As of JDK version 1.1, replaced by getPreferredSize(int).
        返回具有指定列数的此文本字段的首选大小。
        参数
        columns - 列数
        结果
        文本字段的首选大小
      • preferredSize

        @Deprecated
        public Dimension preferredSize()
        Deprecated.
        As of JDK version 1.1, replaced by getPreferredSize().
        复制自类的说明: Component
        返回组件的首选大小。
        重写:
        preferredSize在课程 Component
        结果
        组件的首选大小
      • getMinimumSize

        public Dimension getMinimumSize​(int columns)
        获取具有指定列数的文本字段的最小尺寸。
        参数
        columns - 此文本字段中的列数。
        结果
        此文本字段的最小大小
        从以下版本开始:
        1.1
      • minimumSize

        @Deprecated
        public Dimension minimumSize​(int columns)
        Deprecated.
        As of JDK version 1.1, replaced by getMinimumSize(int).
        返回具有指定列数的文本字段的最小尺寸。
        参数
        columns - 列数
        结果
        此文本字段的最小大小
      • minimumSize

        @Deprecated
        public Dimension minimumSize()
        Deprecated.
        As of JDK version 1.1, replaced by getMinimumSize().
        复制自类的说明: Component
        返回此组件的最小大小。
        重写:
        minimumSize在类 Component
        结果
        此组件的最小大小
      • getListeners

        public <T extends EventListener> T[] getListeners​(<T> listenerType)
        返回当前注册的所有对象的数组FooListener在这个S TextField FooListener s使用addFooListener方法注册。

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

          ActionListener[] als = (ActionListener[])(t.getListeners(ActionListener.class)); 
        如果不存在此类侦听器,则此方法返回空数组。
        重写:
        getListenersTextComponent
        参数类型
        T - 侦听器的类型
        参数
        listenerType - 请求的侦听器类型; 此参数应指定从java.util.EventListener下降的接口
        结果
        FooListener本字段上注册为 FooListener的所有对象的数组,如果未添加此类侦听器,则为空数组
        异常
        ClassCastException - 如果 listenerType未指定实现 java.util.EventListener的类或接口
        从以下版本开始:
        1.3
        另请参见:
        getActionListeners()
      • processEvent

        protected void processEvent​(AWTEvent e)
        处理此文本字段上的事件。 如果事件是ActionEvent的实例,则调用processActionEvent方法。 否则,它在超类上调用processEvent

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

        重写:
        processEvent在课堂上 TextComponent
        参数
        e - 此次活动
        从以下版本开始:
        1.1
        另请参见:
        ActionEventprocessActionEvent(java.awt.event.ActionEvent)
      • processActionEvent

        protected void processActionEvent​(ActionEvent e)
        处理在此文本字段上发生的操作事件,方法是将它们分派给任何已注册的ActionListener对象。

        除非为此组件启用了操作事件,否则不会调用此方法。 发生以下任一情况时启用操作事件:

        • ActionListener对象是通过addActionListener注册。
        • 通过enableEvents启用操作事件。

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

        参数
        e - 动作事件
        从以下版本开始:
        1.1
        另请参见:
        ActionListeneraddActionListener(java.awt.event.ActionListener)Component.enableEvents(long)
      • paramString

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

        public AccessibleContext getAccessibleContext()
        获取与此TextField关联的AccessibleContext。 对于文本字段,AccessibleContext采用AccessibleAWTTextField的形式。 如有必要,将创建一个新的AccessibleAWTTextField实例。
        Specified by:
        getAccessibleContext在界面 Accessible
        重写:
        getAccessibleContext在类 TextComponent
        结果
        一个AccessibleAWTTextField,用作此TextField的AccessibleContext
        从以下版本开始:
        1.3