Module java.desktop
Package java.awt

Class 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".

    The preceding text describes this image.

    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:
    1.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
    • Constructor Detail

      • 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. If text contains EOL and/or LF characters, then each will be replaced by space character.
        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. If text contains EOL and/or LF characters, then each will be replaced by space character.
        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:
        1.1
        See Also:
        echoCharIsSet(), getEchoChar()
      • setEchoCharacter

        @Deprecated
        public void setEchoCharacter​(char c)
        Deprecated. As of JDK version 1.1, replaced by setEchoChar(char).
        Sets the character to be echoed when protected input is displayed.
        Parameters:
        c - the echo character for this text field
      • 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. If t is null, the empty string "" will be displayed. If t contains EOL and/or LF characters, then each will be replaced by space character.
        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:
        1.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:
        1.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:
        1.1
      • preferredSize

        @Deprecated
        public Dimension preferredSize​(int columns)
        Deprecated. As of JDK version 1.1, replaced by getPreferredSize(int).
        Returns the preferred size for this text field with the specified number of columns.
        Parameters:
        columns - the number of columns
        Returns:
        the preferred size for the text field
      • preferredSize

        @Deprecated
        public Dimension preferredSize​()
        Deprecated. As of JDK version 1.1, replaced by getPreferredSize().
        Description copied from class: Component
        Returns the component's preferred size.
        Overrides:
        preferredSize in class Component
        Returns:
        the component's preferred size
      • 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.
        Returns:
        the minimum size for this text field
        Since:
        1.1
      • minimumSize

        @Deprecated
        public Dimension minimumSize​(int columns)
        Deprecated. As of JDK version 1.1, replaced by getMinimumSize(int).
        Returns the minimum dimensions for a text field with the specified number of columns.
        Parameters:
        columns - the number of columns
        Returns:
        the minimum size for this text field
      • minimumSize

        @Deprecated
        public Dimension minimumSize​()
        Deprecated. As of JDK version 1.1, replaced by getMinimumSize().
        Description copied from class: Component
        Returns the minimum size of this component.
        Overrides:
        minimumSize in class Component
        Returns:
        the minimum size of this component
      • getListeners

        public <T extends EventListener> T[] getListeners​(Class<T> listenerType)
        Returns an array of all the objects currently registered as FooListeners upon this TextField. FooListeners 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
        Type Parameters:
        T - the type of the listeners
        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 FooListeners 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:
        1.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:
        1.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