Module java.desktop
Package java.awt

Class TextField

所有已实现的接口:
ImageObserver, MenuContainer, Serializable, Accessible

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

例如,以下图像显示了一个带有四个不同宽度文本字段的框架。其中两个文本字段显示预定义文本"Hello"

The preceding text describes this
 image.

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


 TextField tf1, tf2, tf3, tf4;
 // 一个空文本字段
 tf1 = new TextField();
 // 20列的空字段
 tf2 = new TextField("", 20);
 // 显示预定义文本
 tf3 = new TextField("Hello!");
 // 30列的预定义文本
 tf4 = new TextField("Hello", 30);
 

每当用户在文本字段中键入键时,一个或多个键事件将发送到文本字段。 KeyEvent可能是三种类型之一:keyPressed、keyReleased或keyTyped。键事件的属性指示它是这些类型中的哪一个,以及有关事件的其他信息,例如对键事件应用了哪些修饰符以及事件发生的时间。

键事件被传递给每个已注册以接收此类事件的KeyListenerKeyAdapter对象,这是通过组件的addKeyListener方法注册的。(KeyAdapter对象实现KeyListener接口。)

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

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

自版本:
1.0
参见:
  • Constructor Details

    • TextField

      public TextField() throws HeadlessException
      构造一个新的文本字段。
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
      参见:
    • TextField

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

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

      public TextField(String text, int columns) throws HeadlessException
      构造一个初始化为指定文本并足够宽以容纳指定列数的新文本字段。列是一个平台相关的近似平均字符宽度。
      参数:
      text - 要显示的文本。如果textnull,则将显示空字符串""。如果text包含EOL和/或LF字符,则每个字符将被空格字符替换。
      columns - 列数。如果columns小于0,则将columns设置为0
      抛出:
      HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true。
      参见:
  • Method Details

    • addNotify

      public void addNotify()
      创建TextField的对等体。对等体允许我们修改TextField的外观而不改变其功能。
      覆盖:
      addNotify 在类 TextComponent
      参见:
    • getEchoChar

      public char getEchoChar()
      获取用于回显的字符。 echoChar = 0,则用户输入将不经修改地回显到屏幕上。

      返回:
      此文本字段的回显字符。
      参见:
    • setEchoChar

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

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

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

      参数:
      c - 此文本字段的回显字符。
      自版本:
      1.1
      另请参阅:
    • 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字符,则每个字符将被空格字符替换。
      另请参阅:
    • echoCharIsSet

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

      回显字符对于不希望将用户输入回显到屏幕上的文本字段非常有用,例如用于输入密码的文本字段。

      返回:
      如果此文本字段具有用于回显的字符集,则为true;否则为false
      另请参阅:
    • getColumns

      public int getColumns()
      获取此文本字段中的列数。列是一个平台相关的近似平均字符宽度。
      返回:
      列数。
      自版本:
      1.1
      另请参阅:
    • setColumns

      public void setColumns(int columns)
      设置此文本字段中的列数。列是一个平台相关的近似平均字符宽度。
      参数:
      columns - 列数。
      抛出:
      IllegalArgumentException - 如果为columns提供的值小于0
      自版本:
      1.1
      另请参阅:
    • 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 - 列数
      返回:
      文本字段的首选大小
    • getPreferredSize

      public Dimension getPreferredSize()
      获取此文本字段的首选大小。
      覆盖:
      getPreferredSize 在类 Component
      返回:
      显示此文本字段的首选尺寸。
      自版本:
      1.1
      另请参阅:
    • 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 - 列数
      返回:
      此文本字段的最小尺寸
    • getMinimumSize

      public Dimension getMinimumSize()
      获取此文本字段的最小尺寸。
      覆盖:
      getMinimumSize 在类 Component
      返回:
      显示此文本字段的最小尺寸。
      自版本:
      1.1
      另请参阅:
    • minimumSize

      @Deprecated public Dimension minimumSize()
      Deprecated.
      As of JDK version 1.1, replaced by getMinimumSize().
      从类中复制的描述: Component
      返回此组件的最小尺寸。
      覆盖:
      minimumSize 在类 Component
      返回:
      此组件的最小尺寸
    • addActionListener

      public void addActionListener(ActionListener l)
      将指定的动作侦听器添加到接收此文本字段的动作事件。如果l为null,则不会抛出异常,也不会执行任何操作。

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

      参数:
      l - 动作侦听器。
      自版本:
      1.1
      另请参阅:
    • removeActionListener

      public void removeActionListener(ActionListener l)
      删除指定的动作侦听器,使其不再从此文本字段接收动作事件。如果l为null,则不会抛出异常,也不会执行任何操作。

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

      参数:
      l - 动作侦听器。
      自版本:
      1.1
      另请参阅:
    • getActionListeners

      public ActionListener[] getActionListeners()
      返回在此文本字段上注册的所有动作侦听器的数组。
      返回:
      所有此文本字段的ActionListener或当前未注册任何动作侦听器的空数组
      自版本:
      1.4
      另请参阅:
    • getListeners

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

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

      ActionListener[] als = (ActionListener[])(t.getListeners(ActionListener.class));
      如果不存在此类侦听器,则此方法将返回一个空数组。
      覆盖:
      getListeners 在类 TextComponent
      类型参数:
      T - 监听器的类型
      参数:
      listenerType - 请求的监听器类型;此参数应指定从java.util.EventListener继承的接口
      返回:
      返回在此文本字段上注册为FooListener的所有对象数组,如果没有添加此类监听器,则返回空数组
      抛出:
      ClassCastException - 如果listenerType未指定实现java.util.EventListener的类或接口
      自:
      1.3
      另请参阅:
    • processEvent

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

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

      覆盖:
      processEvent 在类 TextComponent
      参数:
      e - 事件
      自:
      1.1
      另请参阅:
    • processActionEvent

      protected void processActionEvent(ActionEvent e)
      通过将动作事件分派给任何已注册的ActionListener对象来处理在此文本字段上发生的动作事件。

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

      • 通过addActionListener注册了一个ActionListener对象。
      • 通过enableEvents启用了动作事件。

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

      参数:
      e - 动作事件
      自:
      1.1
      另请参阅:
    • paramString

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

      public AccessibleContext getAccessibleContext()
      获取与此TextField关联的AccessibleContext。对于文本字段,AccessibleContext采用AccessibleAWTTextField的形式。如果需要,将创建一个新的AccessibleAWTTextField实例。
      指定者:
      getAccessibleContext 在接口 Accessible
      覆盖:
      getAccessibleContext 在类 TextComponent
      返回:
      作为此TextField的AccessibleContext的AccessibleAWTTextField
      自:
      1.3