模块 java.desktop
 java.awt

类 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;
 // 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);
 

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

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

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

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

自从:
1.0
参见:
  • 构造方法详细信息

    • 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。
      参见:
  • 方法详情

    • addNotify

      public void addNotify()
      创建 TextField 的同位体。对等点允许我们修改 TextField 的外观而不更改其功能。
      重写:
      addNotify 在类 TextComponent
      参见:
    • getEchoChar

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

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

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

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

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

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

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

      参数:
      c - 此文本字段的回显字符。
      自从:
      1.1
      参见:
    • setEchoCharacter

      @Deprecated public void setEchoCharacter(char c)
      已弃用。
      从 JDK 1.1 版开始,由 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)
      已弃用。
      从 JDK 1.1 版开始,由 getPreferredSize(int) 取代。
      返回具有指定列数的此文本字段的首选大小。
      参数:
      columns - 列数
      返回:
      文本字段的首选大小
    • getPreferredSize

      public Dimension  getPreferredSize()
      获取此文本字段的首选大小。
      重写:
      getPreferredSize 在类 Component
      返回:
      显示此文本字段的首选尺寸。
      自从:
      1.1
      参见:
    • preferredSize

      @Deprecated public Dimension  preferredSize()
      已弃用。
      从 JDK 1.1 版开始,由 getPreferredSize() 取代。
      从类复制的描述:Component
      返回组件的首选大小。
      重写:
      preferredSize 在类 Component
      返回:
      组件的首选大小
    • getMinimumSize

      public Dimension  getMinimumSize(int columns)
      获取具有指定列数的文本字段的最小尺寸。
      参数:
      columns - 此文本字段中的列数。
      返回:
      此文本字段的最小大小
      自从:
      1.1
    • minimumSize

      @Deprecated public Dimension  minimumSize(int columns)
      已弃用。
      从 JDK 1.1 版开始,由 getMinimumSize(int) 取代。
      返回具有指定列数的文本字段的最小尺寸。
      参数:
      columns - 列数
      返回:
      此文本字段的最小大小
    • getMinimumSize

      public Dimension  getMinimumSize()
      获取此文本字段的最小尺寸。
      重写:
      getMinimumSize 在类 Component
      返回:
      显示此文本字段的最小尺寸。
      自从:
      1.1
      参见:
    • minimumSize

      @Deprecated public Dimension  minimumSize()
      已弃用。
      从 JDK 1.1 版开始,由 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 对象来处理它们。

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

      • ActionListener 对象通过 addActionListener 注册。
      • 动作事件通过 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