TextField (Java Platform SE 7 )
Keywords: java.awt.TextField class

java.awt

## Class TextField

- java.lang.Object
- - java.awt.Component
  - - java.awt.TextComponent
    - - java.awt.TextField

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible

      public class TextField
      extends TextComponent

  A `TextField` object is a text component that allows for the editing of a single line of text.

  For example, the following image depicts a frame with four text fields of varying widths. Two of these text fields display the predefined text `"Hello"`.

  Here is the code that produces these four text fields:

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

  Every time the user types a key in the text field, one or more key events are sent to the text field. A `KeyEvent` may be one of three types: keyPressed, keyReleased, or keyTyped. The properties of a key event indicate which of these types it is, as well as additional information about the event, such as what modifiers are applied to the key event and the time at which the event occurred.

  The key event is passed to every `KeyListener` or `KeyAdapter` object which registered to receive such events using the component's `addKeyListener` method. (`KeyAdapter` objects implement the `KeyListener` interface.)

  It is also possible to fire an `ActionEvent`. If action events are enabled for the text field, they may be fired by pressing the `Return` key.

  The `TextField` class's `processEvent` method examines the action event and passes it along to `processActionEvent`. The latter method redirects the event to any `ActionListener` objects that have registered to receive action events generated by this text field.

  Since:
    JDK1.0
  See Also:
    `KeyEvent`, `KeyAdapter`, `KeyListener`, `ActionEvent`, `Component.addKeyListener(java.awt.event.KeyListener)`, `processEvent(java.awt.AWTEvent)`, `processActionEvent(java.awt.event.ActionEvent)`, `addActionListener(java.awt.event.ActionListener)`, Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `TextField.AccessibleAWTTextField` This class implements accessibility support for the `TextField` class.

    - ### Nested classes/interfaces inherited from class java.awt.TextComponent

      `TextComponent.AccessibleAWTTextComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class java.awt.TextComponent

      `textListener`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextField()` Constructs a new text field.
    `TextField(int columns)` Constructs a new empty text field with the specified number of columns.
    `TextField(String text)` Constructs a new text field initialized with the specified text.
    `TextField(String text, int columns)` Constructs a new text field initialized with the specified text to be displayed, and wide enough to hold the specified number of columns.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addActionListener(ActionListener l)` Adds the specified action listener to receive action events from this text field.
    `void` | `addNotify()` Creates the TextField's peer.
    `boolean` | `echoCharIsSet()` Indicates whether or not this text field has a character set for echoing.
    `AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this TextField.
    `ActionListener[]` | `getActionListeners()` Returns an array of all the action listeners registered on this textfield.
    `int` | `getColumns()` Gets the number of columns in this text field.
    `char` | `getEchoChar()` Gets the character that is to be used for echoing.
    `<T extends EventListener> T[]` | `getListeners(Class<T> listenerType)` Returns an array of all the objects currently registered as `FooListener`s upon this `TextField`.
    `Dimension` | `getMinimumSize()` Gets the minimum dimensions for this text field.
    `Dimension` | `getMinimumSize(int columns)` Gets the minimum dimensions for a text field with the specified number of columns.
    `Dimension` | `getPreferredSize()` Gets the preferred size of this text field.
    `Dimension` | `getPreferredSize(int columns)` Gets the preferred size of this text field with the specified number of columns.
    `Dimension` | `minimumSize()` Deprecated. As of JDK version 1.1, replaced by `getMinimumSize()`.
    `Dimension` | `minimumSize(int columns)` Deprecated. As of JDK version 1.1, replaced by `getMinimumSize(int)`.
    `protected String` | `paramString()` Returns a string representing the state of this `TextField`.
    `Dimension` | `preferredSize()` Deprecated. As of JDK version 1.1, replaced by `getPreferredSize()`.
    `Dimension` | `preferredSize(int columns)` Deprecated. As of JDK version 1.1, replaced by `getPreferredSize(int)`.
    `protected void` | `processActionEvent(ActionEvent e)` Processes action events occurring on this text field by dispatching them to any registered `ActionListener` objects.
    `protected void` | `processEvent(AWTEvent e)` Processes events on this text field.
    `void` | `removeActionListener(ActionListener l)` Removes the specified action listener so that it no longer receives action events from this text field.
    `void` | `setColumns(int columns)` Sets the number of columns in this text field.
    `void` | `setEchoChar(char c)` Sets the echo character for this text field.
    `void` | `setEchoCharacter(char c)` Deprecated. As of JDK version 1.1, replaced by `setEchoChar(char)`.
    `void` | `setText(String t)` Sets the text that is presented by this text component to be the specified text.

    - ### Methods inherited from class java.awt.TextComponent

      `addTextListener, enableInputMethods, getBackground, getCaretPosition, getInputMethodRequests, getSelectedText, getSelectionEnd, getSelectionStart, getText, getTextListeners, isEditable, processTextEvent, removeNotify, removeTextListener, select, selectAll, setBackground, setCaretPosition, setEditable, setSelectionEnd, setSelectionStart`

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TextField

          public TextField()
                    throws HeadlessException

      Constructs a new text field.
      Throws:
        `HeadlessException` - if GraphicsEnvironment.isHeadless() returns true.
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### TextField

          public TextField(String text)
                    throws HeadlessException

      Constructs a new text field initialized with the specified text.
      Parameters:
        `text` - the text to be displayed. If `text` is `null`, the empty string `""` will be displayed.
      Throws:
        `HeadlessException` - if GraphicsEnvironment.isHeadless() returns true.
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### TextField

          public TextField(int columns)
                    throws HeadlessException

      Constructs a new empty text field with the specified number of columns. A column is an approximate average character width that is platform-dependent.
      Parameters:
        `columns` - the number of columns. If `columns` is less than `0`, `columns` is set to `0`.
      Throws:
        `HeadlessException` - if GraphicsEnvironment.isHeadless() returns true.
      See Also:
        `GraphicsEnvironment.isHeadless()`

    - #### TextField

          public TextField(String text,
                   int columns)
                    throws HeadlessException

      Constructs a new text field initialized with the specified text to be displayed, and wide enough to hold the specified number of columns. A column is an approximate average character width that is platform-dependent.
      Parameters:
        `text` - the text to be displayed. If `text` is `null`, the empty string `""` will be displayed.
        `columns` - the number of columns. If `columns` is less than `0`, `columns` is set to `0`.
      Throws:
        `HeadlessException` - if GraphicsEnvironment.isHeadless() returns true.
      See Also:
        `GraphicsEnvironment.isHeadless()`

  - ### Method Detail

    - #### addNotify

          public void addNotify()

      Creates the TextField's peer. The peer allows us to modify the appearance of the TextField without changing its functionality.
      Overrides:
        `addNotify` in class `TextComponent`
      See Also:
        `TextComponent.removeNotify()`

    - #### getEchoChar

          public char getEchoChar()

      Gets the character that is to be used for echoing.

      An echo character is useful for text fields where user input should not be echoed to the screen, as in the case of a text field for entering a password. If `echoChar` = `0`, user input is echoed to the screen unchanged.

      A Java platform implementation may support only a limited, non-empty set of echo characters. This function returns the echo character originally requested via setEchoChar(). The echo character actually used by the TextField implementation might be different.

      Returns:
        the echo character for this text field.
      See Also:
        `echoCharIsSet()`, `setEchoChar(char)`

    - #### setEchoChar

          public void setEchoChar(char c)

      Sets the echo character for this text field.

      An echo character is useful for text fields where user input should not be echoed to the screen, as in the case of a text field for entering a password. Setting `echoChar` = `0` allows user input to be echoed to the screen again.

      A Java platform implementation may support only a limited, non-empty set of echo characters. Attempts to set an unsupported echo character will cause the default echo character to be used instead. Subsequent calls to getEchoChar() will return the echo character originally requested. This might or might not be identical to the echo character actually used by the TextField implementation.

      Parameters:
        `c` - the echo character for this text field.
      Since:
        JDK1.1
      See Also:
        `echoCharIsSet()`, `getEchoChar()`

    - #### setEchoCharacter

          @Deprecated
          public void setEchoCharacter(char c)

      Deprecated. As of JDK version 1.1, replaced by `setEchoChar(char)`.

    - #### setText

          public void setText(String t)

      Sets the text that is presented by this text component to be the specified text.
      Overrides:
        `setText` in class `TextComponent`
      Parameters:
        `t` - the new text.
      See Also:
        `TextComponent.getText()`

    - #### echoCharIsSet

          public boolean echoCharIsSet()

      Indicates whether or not this text field has a character set for echoing.

      An echo character is useful for text fields where user input should not be echoed to the screen, as in the case of a text field for entering a password.

      Returns:
        `true` if this text field has a character set for echoing; `false` otherwise.
      See Also:
        `setEchoChar(char)`, `getEchoChar()`

    - #### getColumns

          public int getColumns()

      Gets the number of columns in this text field. A column is an approximate average character width that is platform-dependent.
      Returns:
        the number of columns.
      Since:
        JDK1.1
      See Also:
        `setColumns(int)`

    - #### setColumns

          public void setColumns(int columns)

      Sets the number of columns in this text field. A column is an approximate average character width that is platform-dependent.
      Parameters:
        `columns` - the number of columns.
      Throws:
        `IllegalArgumentException` - if the value supplied for `columns` is less than `0`.
      Since:
        JDK1.1
      See Also:
        `getColumns()`

    - #### getPreferredSize

          public Dimension getPreferredSize(int columns)

      Gets the preferred size of this text field with the specified number of columns.
      Parameters:
        `columns` - the number of columns in this text field.
      Returns:
        the preferred dimensions for displaying this text field.
      Since:
        JDK1.1

    - #### preferredSize

          @Deprecated
          public Dimension preferredSize(int columns)

      Deprecated. As of JDK version 1.1, replaced by `getPreferredSize(int)`.

    - #### getPreferredSize

          public Dimension getPreferredSize()

      Gets the preferred size of this text field.
      Overrides:
        `getPreferredSize` in class `Component`
      Returns:
        the preferred dimensions for displaying this text field.
      Since:
        JDK1.1
      See Also:
        `Component.getMinimumSize()`, `LayoutManager`

    - #### preferredSize

          @Deprecated
          public Dimension preferredSize()

      Deprecated. As of JDK version 1.1, replaced by `getPreferredSize()`.
      Overrides:
        `preferredSize` in class `Component`

    - #### getMinimumSize

          public Dimension getMinimumSize(int columns)

      Gets the minimum dimensions for a text field with the specified number of columns.
      Parameters:
        `columns` - the number of columns in this text field.
      Since:
        JDK1.1

    - #### minimumSize

          @Deprecated
          public Dimension minimumSize(int columns)

      Deprecated. As of JDK version 1.1, replaced by `getMinimumSize(int)`.

    - #### getMinimumSize

          public Dimension getMinimumSize()

      Gets the minimum dimensions for this text field.
      Overrides:
        `getMinimumSize` in class `Component`
      Returns:
        the minimum dimensions for displaying this text field.
      Since:
        JDK1.1
      See Also:
        `Component.getPreferredSize()`, `LayoutManager`

    - #### minimumSize

          @Deprecated
          public Dimension minimumSize()

      Deprecated. As of JDK version 1.1, replaced by `getMinimumSize()`.
      Overrides:
        `minimumSize` in class `Component`

    - #### addActionListener

          public void addActionListener(ActionListener l)

      Adds the specified action listener to receive action events from this text field. If l is null, no exception is thrown and no action is performed.

      Refer to AWT Threading Issues for details on AWT's threading model.

      Parameters:
        `l` - the action listener.
      Since:
        JDK1.1
      See Also:
        `removeActionListener(java.awt.event.ActionListener)`, `getActionListeners()`, `ActionListener`

    - #### removeActionListener

          public void removeActionListener(ActionListener l)

      Removes the specified action listener so that it no longer receives action events from this text field. If l is null, no exception is thrown and no action is performed.

      Refer to AWT Threading Issues for details on AWT's threading model.

      Parameters:
        `l` - the action listener.
      Since:
        JDK1.1
      See Also:
        `addActionListener(java.awt.event.ActionListener)`, `getActionListeners()`, `ActionListener`

    - #### getActionListeners

          public ActionListener[] getActionListeners()

      Returns an array of all the action listeners registered on this textfield.
      Returns:
        all of this textfield's `ActionListener`s or an empty array if no action listeners are currently registered
      Since:
        1.4
      See Also:
        `addActionListener(java.awt.event.ActionListener)`, `removeActionListener(java.awt.event.ActionListener)`, `ActionListener`

    - #### getListeners

          public <T extends EventListener> T[] getListeners(Class<T> listenerType)

      Returns an array of all the objects currently registered as `FooListener`s upon this `TextField`. `FooListener`s are registered using the `addFooListener` method.

      You can specify the `listenerType` argument with a class literal, such as `FooListener.class`. For example, you can query a `TextField` `t` for its action listeners with the following code:

          ActionListener[] als = (ActionListener[])(t.getListeners(ActionListener.class));

      If no such listeners exist, this method returns an empty array.
      Overrides:
        `getListeners` in class `TextComponent`
      Parameters:
        `listenerType` - the type of listeners requested; this parameter should specify an interface that descends from `java.util.EventListener`
      Returns:
        an array of all objects registered as `FooListener`s on this textfield, or an empty array if no such listeners have been added
      Throws:
        `ClassCastException` - if `listenerType` doesn't specify a class or interface that implements `java.util.EventListener`
      Since:
        1.3
      See Also:
        `getActionListeners()`

    - #### processEvent

          protected void processEvent(AWTEvent e)

      Processes events on this text field. If the event is an instance of `ActionEvent`, it invokes the `processActionEvent` method. Otherwise, it invokes `processEvent` on the superclass.

      Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

      Overrides:
        `processEvent` in class `TextComponent`
      Parameters:
        `e` - the event
      Since:
        JDK1.1
      See Also:
        `ActionEvent`, `processActionEvent(java.awt.event.ActionEvent)`

    - #### processActionEvent

          protected void processActionEvent(ActionEvent e)

      Processes action events occurring on this text field by dispatching them to any registered `ActionListener` objects.

      This method is not called unless action events are enabled for this component. Action events are enabled when one of the following occurs:

      - An `ActionListener` object is registered via `addActionListener`.
      - Action events are enabled via `enableEvents`.

      Note that if the event parameter is `null` the behavior is unspecified and may result in an exception.

      Parameters:
        `e` - the action event
      Since:
        JDK1.1
      See Also:
        `ActionListener`, `addActionListener(java.awt.event.ActionListener)`, `Component.enableEvents(long)`

    - #### paramString

          protected String paramString()

      Returns a string representing the state of this `TextField`. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.
      Overrides:
        `paramString` in class `TextComponent`
      Returns:
        the parameter string of this text field

    - #### getAccessibleContext

          public AccessibleContext getAccessibleContext()

      Gets the AccessibleContext associated with this TextField. For text fields, the AccessibleContext takes the form of an AccessibleAWTTextField. A new AccessibleAWTTextField instance is created if necessary.
      Specified by:
        `getAccessibleContext` in interface `Accessible`
      Overrides:
        `getAccessibleContext` in class `TextComponent`
      Returns:
        an AccessibleAWTTextField that serves as the AccessibleContext of this TextField
      Since:
        1.3

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.