java.awt
Class TextField

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.TextComponent
          extended byjava.awt.TextField
All Implemented Interfaces:
javax.accessibility.Accessible, ImageObserver, MenuContainer, Serializable

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:
JDK1.0
Author:
Sami Shaio
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
protected  class TextField.AccessibleAWTTextField
          This class implements accessibility support for the TextField class.
 
Nested classes inherited from class java.awt.TextComponent
TextComponent.AccessibleAWTTextComponent
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.AWTTreeLock, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private)  ActionListener actionListener
           
private static String base
           
(package private)  int columns
          The number of columns in the text field.
(package private)  char echoChar
          The echo character, which is used when the user wishes to disguise the characters typed into the text field.
private static int nameCounter
           
private static long serialVersionUID
           
private  int textFieldSerializedDataVersion
          The textField Serialized Data Version.
 
Fields inherited from class java.awt.TextComponent
backgroundSetByClientCode, editable, selectionEnd, selectionStart, text, textListener
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, bufferStrategy, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, focusTraversalKeys, font, foreground, graphicsConfig, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, ignoreRepaint, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, mouseWheelListener, mouseWheelListenerK, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowFocusListenerK, windowListenerK, windowStateListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
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
 void addActionListener(ActionListener l)
          Adds the specified action listener to receive action events from this text field.
 void addNotify()
          Creates the TextField's peer.
(package private)  String constructComponentName()
          Construct a name for this component.
 boolean echoCharIsSet()
          Indicates whether or not this text field has a character set for echoing.
(package private)  boolean eventEnabled(AWTEvent e)
           
 javax.accessibility.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.
 EventListener[] getListeners(Class listenerType)
          Returns an array of all the objects currently registered as FooListeners upon this TextField.
 Dimension getMinimumSize()
          Gets the minumum dimensions for this text field.
 Dimension getMinimumSize(int columns)
          Gets the minumum 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.
private static void initIDs()
          Initialize JNI field and method ids
 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.
private  void readObject(ObjectInputStream s)
          Read the ObjectInputStream and if it isn't null, add a listener to receive action events fired by the TextField.
 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.
private  void writeObject(ObjectOutputStream s)
          Writes default serializable fields to stream.
 
Methods inherited from class java.awt.TextComponent
addTextListener, areInputMethodsEnabled, enableInputMethods, getBackground, getCaretPosition, getCharacterBounds, getIndexAtPoint, 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, adjustListeningChildrenOnParent, applyComponentOrientation, areFocusTraversalKeysSet, autoProcessMouseWheel, autoTransferFocus, bounds, checkGD, checkImage, checkImage, checkWindowClosingException, clearCurrentFocusCycleRootOnHide, clearMostRecentFocusOwnerOnHide, coalesceEvents, contains, contains, containsFocus, countHierarchyMembers, createBufferStrategy, createBufferStrategy, createChildHierarchyEvents, createHierarchyEvents, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, dispatchEventImpl, dispatchMouseWheelToAncestor, doLayout, enable, enable, enableEvents, eventTypeEnabled, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getAlignmentX, getAlignmentY, getBackBuffer, getBounds, getBounds, getBufferStrategy, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys_NoIDCheck, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, initializeFocusTraversalKeys, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFocusTraversableOverridden, isFontSet, isForegroundSet, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, layout, lightweightPaint, lightweightPrint, list, list, list, list, list, locate, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, nextFocusHelper, numListening, paint, paintAll, paintHeavyweightComponents, postEvent, postsOldMouseEvents, prepareImage, prepareImage, print, printAll, printHeavyweightComponents, 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, requestFocusHelper, requestFocusInWindow, requestFocusInWindow, resetGC, reshape, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys_NoIDCheck, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setGCFromPeer, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, updateCursorImmediately, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

columns

int columns
The number of columns in the text field. A column is an approximate average character width that is platform-dependent. Guaranteed to be non-negative.

See Also:
setColumns(int), getColumns()

echoChar

char echoChar
The echo character, which is used when the user wishes to disguise the characters typed into the text field. The disguises are removed if echoChar = 0.

See Also:
getEchoChar(), setEchoChar(char), echoCharIsSet()

actionListener

transient ActionListener actionListener

base

private static final String base
See Also:
Constant Field Values

nameCounter

private static int nameCounter

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

textFieldSerializedDataVersion

private int textFieldSerializedDataVersion
The textField Serialized Data Version.

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

initIDs

private static void initIDs()
Initialize JNI field and method ids


constructComponentName

String constructComponentName()
Construct a name for this component. Called by getName() when the name is null.

Overrides:
constructComponentName in class Component

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.

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.

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

setEchoCharacter

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

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

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 minumum 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

public Dimension minimumSize(int columns)
Deprecated. As of JDK version 1.1, replaced by getMinimumSize(int).


getMinimumSize

public Dimension getMinimumSize()
Gets the minumum 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

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.

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.

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 ActionListeners 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), java.awt.event

getListeners

public EventListener[] getListeners(Class 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
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()

eventEnabled

boolean eventEnabled(AWTEvent e)
Overrides:
eventEnabled in class TextComponent

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:

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

writeObject

private void writeObject(ObjectOutputStream s)
                  throws IOException
Writes default serializable fields to stream. Writes a list of serializable ActionListener(s) as optional data. The non-serializable ActionListener(s) are detected and no attempt is made to serialize them.

Throws:
IOException
See Also:
AWTEventMulticaster.save(ObjectOutputStream, String, EventListener), Component.actionListenerK

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException,
                        HeadlessException
Read the ObjectInputStream and if it isn't null, add a listener to receive action events fired by the TextField. Unrecognized keys or values will be ignored.

Throws:
HeadlessException - if GraphicsEnvironment.isHeadless() returns true
ClassNotFoundException
IOException
See Also:
removeActionListener(ActionListener), addActionListener(ActionListener), GraphicsEnvironment.isHeadless()

getAccessibleContext

public javax.accessibility.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 javax.accessibility.Accessible
Overrides:
getAccessibleContext in class TextComponent
Returns:
an AccessibleAWTTextField that serves as the AccessibleContext of this TextField