< prev index next >
src/java.desktop/share/classes/javax/swing/JTextField.java
Print this page
@@ -38,59 +38,59 @@
import java.io.ObjectInputStream;
import java.io.IOException;
import java.io.Serializable;
/**
- * <code>JTextField</code> is a lightweight component that allows the editing
+ * {@code JTextField} is a lightweight component that allows the editing
* of a single line of text.
* For information on and examples of using text fields,
* see
* <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/textfield.html">How to Use Text Fields</a>
* in <em>The Java Tutorial.</em>
*
* <p>
- * <code>JTextField</code> is intended to be source-compatible
- * with <code>java.awt.TextField</code> where it is reasonable to do so. This
- * component has capabilities not found in the <code>java.awt.TextField</code>
+ * {@code JTextField} is intended to be source-compatible
+ * with {@code java.awt.TextField} where it is reasonable to do so. This
+ * component has capabilities not found in the {@code java.awt.TextField}
* class. The superclass should be consulted for additional capabilities.
* <p>
- * <code>JTextField</code> has a method to establish the string used as the
+ * {@code JTextField} has a method to establish the string used as the
* command string for the action event that gets fired. The
- * <code>java.awt.TextField</code> used the text of the field as the command
- * string for the <code>ActionEvent</code>.
- * <code>JTextField</code> will use the command
- * string set with the <code>setActionCommand</code> method if not <code>null</code>,
+ * {@code java.awt.TextField} used the text of the field as the command
+ * string for the {@code ActionEvent}.
+ * {@code JTextField} will use the command
+ * string set with the {@code setActionCommand} method if not {@code null},
* otherwise it will use the text of the field as a compatibility with
- * <code>java.awt.TextField</code>.
+ * {@code java.awt.TextField}.
* <p>
- * The method <code>setEchoChar</code> and <code>getEchoChar</code>
+ * The method {@code setEchoChar} and {@code getEchoChar}
* are not provided directly to avoid a new implementation of a
* pluggable look-and-feel inadvertently exposing password characters.
- * To provide password-like services a separate class <code>JPasswordField</code>
- * extends <code>JTextField</code> to provide this service with an independently
+ * To provide password-like services a separate class {@code JPasswordField}
+ * extends {@code JTextField} to provide this service with an independently
* pluggable look-and-feel.
* <p>
- * The <code>java.awt.TextField</code> could be monitored for changes by adding
- * a <code>TextListener</code> for <code>TextEvent</code>'s.
- * In the <code>JTextComponent</code> based
+ * The {@code java.awt.TextField} could be monitored for changes by adding
+ * a {@code TextListener} for {@code TextEvent}'s.
+ * In the {@code JTextComponent} based
* components, changes are broadcasted from the model via a
- * <code>DocumentEvent</code> to <code>DocumentListeners</code>.
- * The <code>DocumentEvent</code> gives
+ * {@code DocumentEvent} to {@code DocumentListeners}.
+ * The {@code DocumentEvent} gives
* the location of the change and the kind of change if desired.
* The code fragment might look something like:
* <pre><code>
* DocumentListener myListener = ??;
* JTextField myArea = ??;
* myArea.getDocument().addDocumentListener(myListener);
* </code></pre>
* <p>
- * The horizontal alignment of <code>JTextField</code> can be set to be left
+ * The horizontal alignment of {@code JTextField} can be set to be left
* justified, leading justified, centered, right justified or trailing justified.
* Right/trailing justification is useful if the required size
* of the field text is smaller than the size allocated to it.
- * This is determined by the <code>setHorizontalAlignment</code>
- * and <code>getHorizontalAlignment</code> methods. The default
+ * This is determined by the {@code setHorizontalAlignment}
+ * and {@code getHorizontalAlignment} methods. The default
* is to be leading justified.
* <p>
* How the text field consumes VK_ENTER events depends
* on whether the text field has any action listeners.
* If so, then VK_ENTER results in the listeners
@@ -147,11 +147,11 @@
* Serialized objects of this class will not be compatible with
* future Swing releases. The current serialization support is
* appropriate for short term storage or RMI between applications running
* the same version of Swing. As of 1.4, support for long term storage
* of all JavaBeans™
- * has been added to the <code>java.beans</code> package.
+ * has been added to the {@code java.beans} package.
* Please see {@link java.beans.XMLEncoder}.
*
* @beaninfo
* attribute: isContainer false
* description: A component which allows for the editing of a single line of text.
@@ -164,34 +164,34 @@
*/
@SuppressWarnings("serial") // Same-version serialization only
public class JTextField extends JTextComponent implements SwingConstants {
/**
- * Constructs a new <code>TextField</code>. A default model is created,
- * the initial string is <code>null</code>,
+ * Constructs a new {@code TextField}. A default model is created,
+ * the initial string is {@code null},
* and the number of columns is set to 0.
*/
public JTextField() {
this(null, null, 0);
}
/**
- * Constructs a new <code>TextField</code> initialized with the
+ * Constructs a new {@code TextField} initialized with the
* specified text. A default model is created and the number of
* columns is 0.
*
- * @param text the text to be displayed, or <code>null</code>
+ * @param text the text to be displayed, or {@code null}
*/
public JTextField(String text) {
this(null, text, 0);
}
/**
- * Constructs a new empty <code>TextField</code> with the specified
+ * Constructs a new empty {@code TextField} with the specified
* number of columns.
* A default model is created and the initial string is set to
- * <code>null</code>.
+ * {@code null}.
*
* @param columns the number of columns to use to calculate
* the preferred width; if columns is set to zero, the
* preferred width will be whatever naturally results from
* the component implementation
@@ -199,38 +199,38 @@
public JTextField(int columns) {
this(null, null, columns);
}
/**
- * Constructs a new <code>TextField</code> initialized with the
+ * Constructs a new {@code TextField} initialized with the
* specified text and columns. A default model is created.
*
- * @param text the text to be displayed, or <code>null</code>
+ * @param text the text to be displayed, or {@code null}
* @param columns the number of columns to use to calculate
* the preferred width; if columns is set to zero, the
* preferred width will be whatever naturally results from
* the component implementation
*/
public JTextField(String text, int columns) {
this(null, text, columns);
}
/**
- * Constructs a new <code>JTextField</code> that uses the given text
+ * Constructs a new {@code JTextField} that uses the given text
* storage model and the given number of columns.
* This is the constructor through which the other constructors feed.
- * If the document is <code>null</code>, a default model is created.
+ * If the document is {@code null}, a default model is created.
*
- * @param doc the text storage to use; if this is <code>null</code>,
+ * @param doc the text storage to use; if this is {@code null},
* a default will be provided by calling the
- * <code>createDefaultModel</code> method
- * @param text the initial string to display, or <code>null</code>
+ * {@code createDefaultModel} method
+ * @param text the initial string to display, or {@code null}
* @param columns the number of columns to use to calculate
- * the preferred width >= 0; if <code>columns</code>
+ * the preferred width >= 0; if {@code columns}
* is set to zero, the preferred width will be whatever
* naturally results from the component implementation
- * @exception IllegalArgumentException if <code>columns</code> < 0
+ * @exception IllegalArgumentException if {@code columns < 0}
*/
public JTextField(Document doc, String text, int columns) {
if (columns < 0) {
throw new IllegalArgumentException("columns less than zero.");
}
@@ -277,17 +277,17 @@
}
super.setDocument(doc);
}
/**
- * Calls to <code>revalidate</code> that come from within the
+ * Calls to {@code revalidate} that come from within the
* textfield itself will
* be handled by validating the textfield, unless the textfield
- * is contained within a <code>JViewport</code>,
+ * is contained within a {@code JViewport},
* in which case this returns false.
*
- * @return if the parent of this textfield is a <code>JViewPort</code>
+ * @return if the parent of this textfield is a {@code JViewPort}
* return false, otherwise return true
*
* @see JComponent#revalidate
* @see JComponent#isValidateRoot
* @see java.awt.Container#isValidateRoot
@@ -300,15 +300,15 @@
/**
* Returns the horizontal alignment of the text.
* Valid keys are:
* <ul>
- * <li><code>JTextField.LEFT</code>
- * <li><code>JTextField.CENTER</code>
- * <li><code>JTextField.RIGHT</code>
- * <li><code>JTextField.LEADING</code>
- * <li><code>JTextField.TRAILING</code>
+ * <li>{@code JTextField.LEFT}
+ * <li>{@code JTextField.CENTER}
+ * <li>{@code JTextField.RIGHT}
+ * <li>{@code JTextField.LEADING}
+ * <li>{@code JTextField.TRAILING}
* </ul>
*
* @return the horizontal alignment
*/
public int getHorizontalAlignment() {
@@ -317,22 +317,22 @@
/**
* Sets the horizontal alignment of the text.
* Valid keys are:
* <ul>
- * <li><code>JTextField.LEFT</code>
- * <li><code>JTextField.CENTER</code>
- * <li><code>JTextField.RIGHT</code>
- * <li><code>JTextField.LEADING</code>
- * <li><code>JTextField.TRAILING</code>
+ * <li>{@code JTextField.LEFT}
+ * <li>{@code JTextField.CENTER}
+ * <li>{@code JTextField.RIGHT}
+ * <li>{@code JTextField.LEADING}
+ * <li>{@code JTextField.TRAILING}
* </ul>
- * <code>invalidate</code> and <code>repaint</code> are called when the
+ * {@code invalidate} and {@code repaint} are called when the
* alignment is set,
- * and a <code>PropertyChange</code> event ("horizontalAlignment") is fired.
+ * and a {@code PropertyChange} event ("horizontalAlignment") is fired.
*
* @param alignment the alignment
- * @exception IllegalArgumentException if <code>alignment</code>
+ * @exception IllegalArgumentException if {@code alignment}
* is not a valid key
* @beaninfo
* preferred: true
* bound: true
* description: Set the field alignment to LEFT, CENTER, RIGHT,
@@ -356,33 +356,33 @@
}
/**
* Creates the default implementation of the model
* to be used at construction if one isn't explicitly
- * given. An instance of <code>PlainDocument</code> is returned.
+ * given. An instance of {@code PlainDocument} is returned.
*
* @return the default model implementation
*/
protected Document createDefaultModel() {
return new PlainDocument();
}
/**
- * Returns the number of columns in this <code>TextField</code>.
+ * Returns the number of columns in this {@code TextField}.
*
* @return the number of columns >= 0
*/
public int getColumns() {
return columns;
}
/**
- * Sets the number of columns in this <code>TextField</code>,
+ * Sets the number of columns in this {@code TextField},
* and then invalidate the layout.
*
* @param columns the number of columns >= 0
- * @exception IllegalArgumentException if <code>columns</code>
+ * @exception IllegalArgumentException if {@code columns}
* is less than 0
* @beaninfo
* description: the number of columns preferred for display
*/
public void setColumns(int columns) {
@@ -413,12 +413,12 @@
}
return columnWidth;
}
/**
- * Returns the preferred size <code>Dimensions</code> needed for this
- * <code>TextField</code>. If a non-zero number of columns has been
+ * Returns the preferred size {@code Dimensions} needed for this
+ * {@code TextField}. If a non-zero number of columns has been
* set, the width is set to the columns multiplied by
* the column width.
*
* @return the dimension of this textfield
*/
@@ -433,11 +433,11 @@
}
/**
* Sets the current font. This removes cached row height and column
* width so the new font will be reflected.
- * <code>revalidate</code> is called after setting the font.
+ * {@code revalidate} is called after setting the font.
*
* @param f the new font
*/
public void setFont(Font f) {
super.setFont(f);
@@ -467,14 +467,14 @@
listenerList.remove(ActionListener.class, l);
}
}
/**
- * Returns an array of all the <code>ActionListener</code>s added
+ * Returns an array of all the {@code ActionListener}s added
* to this JTextField with addActionListener().
*
- * @return all of the <code>ActionListener</code>s added or an empty
+ * @return all of the {@code ActionListener}s added or an empty
* array if no listeners have been added
* @since 1.4
*/
public synchronized ActionListener[] getActionListeners() {
return listenerList.getListeners(ActionListener.class);
@@ -523,38 +523,38 @@
private Action action;
private PropertyChangeListener actionPropertyChangeListener;
/**
- * Sets the <code>Action</code> for the <code>ActionEvent</code> source.
- * The new <code>Action</code> replaces
- * any previously set <code>Action</code> but does not affect
- * <code>ActionListeners</code> independently
- * added with <code>addActionListener</code>.
- * If the <code>Action</code> is already a registered
- * <code>ActionListener</code>
- * for the <code>ActionEvent</code> source, it is not re-registered.
+ * Sets the {@code Action} for the {@code ActionEvent} source.
+ * The new {@code Action} replaces
+ * any previously set {@code Action} but does not affect
+ * {@code ActionListeners} independently
+ * added with {@code addActionListener}.
+ * If the {@code Action} is already a registered
+ * {@code ActionListener}
+ * for the {@code ActionEvent} source, it is not re-registered.
* <p>
- * Setting the <code>Action</code> results in immediately changing
+ * Setting the {@code Action} results in immediately changing
* all the properties described in <a href="Action.html#buttonActions">
- * Swing Components Supporting <code>Action</code></a>.
+ * Swing Components Supporting {@code Action}</a>.
* Subsequently, the textfield's properties are automatically updated
- * as the <code>Action</code>'s properties change.
+ * as the {@code Action}'s properties change.
* <p>
* This method uses three other methods to set
- * and help track the <code>Action</code>'s property values.
- * It uses the <code>configurePropertiesFromAction</code> method
+ * and help track the {@code Action}'s property values.
+ * It uses the {@code configurePropertiesFromAction} method
* to immediately change the textfield's properties.
- * To track changes in the <code>Action</code>'s property values,
- * this method registers the <code>PropertyChangeListener</code>
- * returned by <code>createActionPropertyChangeListener</code>. The
+ * To track changes in the {@code Action}'s property values,
+ * this method registers the {@code PropertyChangeListener}
+ * returned by {@code createActionPropertyChangeListener}. The
* default {@code PropertyChangeListener} invokes the
* {@code actionPropertyChanged} method when a property in the
* {@code Action} changes.
*
- * @param a the <code>Action</code> for the <code>JTextField</code>,
- * or <code>null</code>
+ * @param a the {@code Action} for the {@code JTextField},
+ * or {@code null}
* @since 1.3
* @see Action
* @see #getAction
* @see #configurePropertiesFromAction
* @see #createActionPropertyChangeListener
@@ -597,32 +597,32 @@
}
return isListener;
}
/**
- * Returns the currently set <code>Action</code> for this
- * <code>ActionEvent</code> source, or <code>null</code>
- * if no <code>Action</code> is set.
+ * Returns the currently set {@code Action} for this
+ * {@code ActionEvent} source, or {@code null}
+ * if no {@code Action} is set.
*
- * @return the <code>Action</code> for this <code>ActionEvent</code> source,
- * or <code>null</code>
+ * @return the {@code Action} for this {@code ActionEvent} source,
+ * or {@code null}
* @since 1.3
* @see Action
* @see #setAction
*/
public Action getAction() {
return action;
}
/**
* Sets the properties on this textfield to match those in the specified
- * <code>Action</code>. Refer to <a href="Action.html#buttonActions">
- * Swing Components Supporting <code>Action</code></a> for more
+ * {@code Action}. Refer to <a href="Action.html#buttonActions">
+ * Swing Components Supporting {@code Action}</a> for more
* details as to which properties this sets.
*
- * @param a the <code>Action</code> from which to get the properties,
- * or <code>null</code>
+ * @param a the {@code Action} from which to get the properties,
+ * or {@code null}
* @since 1.3
* @see Action
* @see #setAction
*/
protected void configurePropertiesFromAction(Action a) {
@@ -639,14 +639,14 @@
* need to invoke this. Subclasses that support additional {@code Action}
* properties should override this and
* {@code configurePropertiesFromAction}.
* <p>
* Refer to the table at <a href="Action.html#buttonActions">
- * Swing Components Supporting <code>Action</code></a> for a list of
+ * Swing Components Supporting {@code Action}</a> for a list of
* the properties this method sets.
*
- * @param action the <code>Action</code> associated with this textfield
+ * @param action the {@code Action} associated with this textfield
* @param propertyName the name of the property that changed
* @since 1.6
* @see Action
* @see #configurePropertiesFromAction
*/
@@ -664,17 +664,17 @@
setActionCommand((action == null) ? null :
(String)action.getValue(Action.ACTION_COMMAND_KEY));
}
/**
- * Creates and returns a <code>PropertyChangeListener</code> that is
+ * Creates and returns a {@code PropertyChangeListener} that is
* responsible for listening for changes from the specified
- * <code>Action</code> and updating the appropriate properties.
+ * {@code Action} and updating the appropriate properties.
* <p>
* <b>Warning:</b> If you subclass this do not create an anonymous
* inner class. If you do the lifetime of the textfield will be tied to
- * that of the <code>Action</code>.
+ * that of the {@code Action}.
*
* @param a the textfield's action
* @return a {@code PropertyChangeListener} that is responsible for
* listening for changes from the specified {@code Action} and
* updating the appropriate properties
@@ -716,11 +716,11 @@
return TextAction.augmentList(super.getActions(), defaultActions);
}
/**
* Processes action events occurring on this textfield by
- * dispatching them to any registered <code>ActionListener</code> objects.
+ * dispatching them to any registered {@code ActionListener} objects.
* This is normally called by the controller registered with
* textfield.
*/
public void postActionEvent() {
fireActionPerformed();
@@ -735,11 +735,11 @@
* the area that was allocated to the field.
*
* <p>
* The fields look-and-feel implementation manages
* the values of the minimum, maximum, and extent
- * properties on the <code>BoundedRangeModel</code>.
+ * properties on the {@code BoundedRangeModel}.
*
* @return the visibility
* @see BoundedRangeModel
*/
public BoundedRangeModel getHorizontalVisibility() {
@@ -782,11 +782,11 @@
visibility.setValue(x1 - visibility.getExtent());
}
}
/**
- * Returns true if the receiver has an <code>ActionListener</code>
+ * Returns true if the receiver has an {@code ActionListener}
* installed.
*/
boolean hasActionListener() {
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
@@ -859,12 +859,12 @@
}
/**
- * See <code>readObject</code> and <code>writeObject</code> in
- * <code>JComponent</code> for more
+ * See {@code readObject} and {@code writeObject} in
+ * {@code JComponent} for more
* information about serialization in Swing.
*/
private void writeObject(ObjectOutputStream s) throws IOException {
s.defaultWriteObject();
if (getUIClassID().equals(uiClassID)) {
@@ -876,17 +876,17 @@
}
}
/**
- * Returns a string representation of this <code>JTextField</code>.
+ * Returns a string representation of this {@code JTextField}.
* 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 <code>null</code>.
+ * be {@code null}.
*
- * @return a string representation of this <code>JTextField</code>
+ * @return a string representation of this {@code JTextField}
*/
protected String paramString() {
String horizontalAlignmentString;
if (horizontalAlignment == LEFT) {
horizontalAlignmentString = "LEFT";
@@ -914,40 +914,40 @@
// Accessibility support
////////////////
/**
- * Gets the <code>AccessibleContext</code> associated with this
- * <code>JTextField</code>. For <code>JTextFields</code>,
- * the <code>AccessibleContext</code> takes the form of an
- * <code>AccessibleJTextField</code>.
- * A new <code>AccessibleJTextField</code> instance is created
+ * Gets the {@code AccessibleContext} associated with this
+ * {@code JTextField}. For {@code JTextFields},
+ * the {@code AccessibleContext} takes the form of an
+ * {@code AccessibleJTextField}.
+ * A new {@code AccessibleJTextField} instance is created
* if necessary.
*
- * @return an <code>AccessibleJTextField</code> that serves as the
- * <code>AccessibleContext</code> of this <code>JTextField</code>
+ * @return an {@code AccessibleJTextField} that serves as the
+ * {@code AccessibleContext} of this {@code JTextField}
*/
public AccessibleContext getAccessibleContext() {
if (accessibleContext == null) {
accessibleContext = new AccessibleJTextField();
}
return accessibleContext;
}
/**
* This class implements accessibility support for the
- * <code>JTextField</code> class. It provides an implementation of the
+ * {@code JTextField} class. It provides an implementation of the
* Java Accessibility API appropriate to text field user-interface
* elements.
* <p>
* <strong>Warning:</strong>
* Serialized objects of this class will not be compatible with
* future Swing releases. The current serialization support is
* appropriate for short term storage or RMI between applications running
* the same version of Swing. As of 1.4, support for long term storage
* of all JavaBeans™
- * has been added to the <code>java.beans</code> package.
+ * has been added to the {@code java.beans} package.
* Please see {@link java.beans.XMLEncoder}.
*/
@SuppressWarnings("serial") // Same-version serialization only
protected class AccessibleJTextField extends AccessibleJTextComponent {
< prev index next >