< prev index next >

src/java.desktop/share/classes/javax/swing/AbstractButton.java

Print this page

        

@@ -47,13 +47,13 @@
 /**
  * Defines common behaviors for buttons and menu items.
  * <p>
  * Buttons can be configured, and to some degree controlled, by
  * <code><a href="Action.html">Action</a></code>s.  Using an
- * <code>Action</code> with a button has many benefits beyond directly
+ * {@code Action} with a button has many benefits beyond directly
  * configuring a button.  Refer to <a href="Action.html#buttonActions">
- * Swing Components Supporting <code>Action</code></a> for more
+ * Swing Components Supporting {@code Action}</a> for more
  * details, and you can find more information in <a
  * href="http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html">How
  * to Use Actions</a>, a section in <em>The Java Tutorial</em>.
  * <p>
  * For further information see

@@ -65,11 +65,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&trade;
- * 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}.
  *
  * @author Jeff Dinkins
  * @since 1.2
  */

@@ -214,50 +214,50 @@
      * Combined listeners: ActionListener, ChangeListener, ItemListener.
      */
     private Handler handler;
 
     /**
-     * The button model's <code>changeListener</code>.
+     * The button model's {@code changeListener}.
      */
     protected ChangeListener changeListener = null;
     /**
-     * The button model's <code>ActionListener</code>.
+     * The button model's {@code ActionListener}.
      */
     protected ActionListener actionListener = null;
     /**
-     * The button model's <code>ItemListener</code>.
+     * The button model's {@code ItemListener}.
      */
     protected ItemListener itemListener = null;
 
     /**
-     * Only one <code>ChangeEvent</code> is needed per button
+     * Only one {@code ChangeEvent} is needed per button
      * instance since the
      * event's only state is the source property.  The source of events
      * generated is always "this".
      */
     protected transient ChangeEvent changeEvent;
 
     private boolean hideActionText = false;
 
     /**
-     * Sets the <code>hideActionText</code> property, which determines
-     * whether the button displays text from the <code>Action</code>.
-     * This is useful only if an <code>Action</code> has been
+     * Sets the {@code hideActionText} property, which determines
+     * whether the button displays text from the {@code Action}.
+     * This is useful only if an {@code Action} has been
      * installed on the button.
      *
-     * @param hideActionText <code>true</code> if the button's
-     *                       <code>text</code> property should not reflect
-     *                       that of the <code>Action</code>; the default is
-     *                       <code>false</code>
+     * @param hideActionText {@code true} if the button's
+     *                       {@code text} property should not reflect
+     *                       that of the {@code Action}; the default is
+     *                       {@code false}
      * @see <a href="Action.html#buttonActions">Swing Components Supporting
      *      <code>Action</code></a>
      * @since 1.6
      * @beaninfo
      *        bound: true
      *    expert: true
      *  description: Whether the text of the button should come from
-     *               the <code>Action</code>.
+     *               the {@code Action}.
      */
     public void setHideActionText(boolean hideActionText) {
         if (hideActionText != this.hideActionText) {
             this.hideActionText = hideActionText;
             if (getAction() != null) {

@@ -267,18 +267,18 @@
                                hideActionText);
         }
     }
 
     /**
-     * Returns the value of the <code>hideActionText</code> property, which
+     * Returns the value of the {@code hideActionText} property, which
      * determines whether the button displays text from the
-     * <code>Action</code>.  This is useful only if an <code>Action</code>
+     * {@code Action}.  This is useful only if an {@code Action}
      * has been installed on the button.
      *
-     * @return <code>true</code> if the button's <code>text</code>
+     * @return {@code true} if the button's {@code text}
      *         property should not reflect that of the
-     *         <code>Action</code>; the default is <code>false</code>
+     *         {@code Action}; the default is {@code false}
      * @since 1.6
      */
     public boolean getHideActionText() {
         return hideActionText;
     }

@@ -329,12 +329,12 @@
         return model.isSelected();
     }
 
     /**
      * Sets the state of the button. Note that this method does not
-     * trigger an <code>actionEvent</code>.
-     * Call <code>doClick</code> to perform a programmatic action change.
+     * trigger an {@code actionEvent}.
+     * Call {@code doClick} to perform a programmatic action change.
      *
      * @param b  true if the button is selected, otherwise false
      */
     public void setSelected(boolean b) {
         boolean oldValue = isSelected();

@@ -359,11 +359,11 @@
     }
 
     /**
      * Programmatically perform a "click". This does the same
      * thing as if the user had pressed and released the button.
-     * The button stays visually "pressed" for <code>pressTime</code>
+     * The button stays visually "pressed" for {@code pressTime}
      *  milliseconds.
      *
      * @param pressTime the time to "hold down" the button, in milliseconds
      */
     public void doClick(int pressTime) {

@@ -379,15 +379,15 @@
         model.setArmed(false);
     }
 
     /**
      * Sets space for margin between the button's border and
-     * the label. Setting to <code>null</code> will cause the button to
-     * use the default margin.  The button's default <code>Border</code>
+     * the label. Setting to {@code null} will cause the button to
+     * use the default margin.  The button's default {@code Border}
      * object will use this value to create the proper margin.
      * However, if a non-default border is set on the button,
-     * it is that <code>Border</code> object's responsibility to create the
+     * it is that {@code Border} object's responsibility to create the
      * appropriate margin space (else this property will
      * effectively be ignored).
      *
      * @param m the space between the border and the label
      *

@@ -421,21 +421,21 @@
 
     /**
      * Returns the margin between the button's border and
      * the label.
      *
-     * @return an <code>Insets</code> object specifying the margin
+     * @return an {@code Insets} object specifying the margin
      *          between the botton's border and the label
      * @see #setMargin
      */
     public Insets getMargin() {
         return (margin == null) ? null : (Insets) margin.clone();
     }
 
     /**
      * Returns the default icon.
-     * @return the default <code>Icon</code>
+     * @return the default {@code Icon}
      * @see #setIcon
      */
     public Icon getIcon() {
         return defaultIcon;
     }

@@ -482,11 +482,11 @@
         }
     }
 
     /**
      * Returns the pressed icon for the button.
-     * @return the <code>pressedIcon</code> property
+     * @return the {@code pressedIcon} property
      * @see #setPressedIcon
      */
     public Icon getPressedIcon() {
         return pressedIcon;
     }

@@ -516,11 +516,11 @@
         }
     }
 
     /**
      * Returns the selected icon for the button.
-     * @return the <code>selectedIcon</code> property
+     * @return the {@code selectedIcon} property
      * @see #setSelectedIcon
      */
     public Icon getSelectedIcon() {
         return selectedIcon;
     }

@@ -562,11 +562,11 @@
         }
     }
 
     /**
      * Returns the rollover icon for the button.
-     * @return the <code>rolloverIcon</code> property
+     * @return the {@code rolloverIcon} property
      * @see #setRolloverIcon
      */
     public Icon getRolloverIcon() {
         return rolloverIcon;
     }

@@ -598,11 +598,11 @@
 
     }
 
     /**
      * Returns the rollover selection icon for the button.
-     * @return the <code>rolloverSelectedIcon</code> property
+     * @return the {@code rolloverSelectedIcon} property
      * @see #setRolloverSelectedIcon
      */
     public Icon getRolloverSelectedIcon() {
         return rolloverSelectedIcon;
     }

@@ -642,11 +642,11 @@
      * the look and feel to construct an appropriate disabled Icon.
      * <p>
      * Some look and feels might not render the disabled Icon, in which
      * case they will ignore this.
      *
-     * @return the <code>disabledIcon</code> property
+     * @return the {@code disabledIcon} property
      * @see #getPressedIcon
      * @see #setDisabledIcon
      * @see javax.swing.LookAndFeel#getDisabledIcon
      */
     @Transient

@@ -688,16 +688,16 @@
     /**
      * Returns the icon used by the button when it's disabled and selected.
      * If no disabled selection icon has been set, this will forward
      * the call to the LookAndFeel to construct an appropriate disabled
      * Icon from the selection icon if it has been set and to
-     * <code>getDisabledIcon()</code> otherwise.
+     * {@code getDisabledIcon()} otherwise.
      * <p>
      * Some look and feels might not render the disabled selected Icon, in
      * which case they will ignore this.
      *
-     * @return the <code>disabledSelectedIcon</code> property
+     * @return the {@code disabledSelectedIcon} property
      * @see #getDisabledIcon
      * @see #setDisabledSelectedIcon
      * @see javax.swing.LookAndFeel#getDisabledSelectedIcon
      */
     public Icon getDisabledSelectedIcon() {

@@ -744,11 +744,11 @@
     }
 
     /**
      * Returns the vertical alignment of the text and icon.
      *
-     * @return the <code>verticalAlignment</code> property, one of the
+     * @return the {@code verticalAlignment} property, one of the
      *          following values:
      * <ul>
      * <li>{@code SwingConstants.CENTER} (the default)
      * <li>{@code SwingConstants.TOP}
      * <li>{@code SwingConstants.BOTTOM}

@@ -786,11 +786,11 @@
     /**
      * Returns the horizontal alignment of the icon and text.
      * {@code AbstractButton}'s default is {@code SwingConstants.CENTER},
      * but subclasses such as {@code JCheckBox} may use a different default.
      *
-     * @return the <code>horizontalAlignment</code> property,
+     * @return the {@code horizontalAlignment} property,
      *             one of the following values:
      * <ul>
      *   <li>{@code SwingConstants.RIGHT}
      *   <li>{@code SwingConstants.LEFT}
      *   <li>{@code SwingConstants.CENTER}

@@ -838,11 +838,11 @@
     }
 
 
     /**
      * Returns the vertical position of the text relative to the icon.
-     * @return the <code>verticalTextPosition</code> property,
+     * @return the {@code verticalTextPosition} property,
      *          one of the following values:
      * <ul>
      * <li>{@code SwingConstants.CENTER} (the default)
      * <li>{@code SwingConstants.TOP}
      * <li>{@code SwingConstants.BOTTOM}

@@ -877,11 +877,11 @@
         repaint();
     }
 
     /**
      * Returns the horizontal position of the text relative to the icon.
-     * @return the <code>horizontalTextPosition</code> property,
+     * @return the {@code horizontalTextPosition} property,
      *          one of the following values:
      * <ul>
      * <li>{@code SwingConstants.RIGHT}
      * <li>{@code SwingConstants.LEFT}
      * <li>{@code SwingConstants.CENTER}

@@ -901,11 +901,11 @@
      * <li>{@code SwingConstants.LEFT}
      * <li>{@code SwingConstants.CENTER}
      * <li>{@code SwingConstants.LEADING}
      * <li>{@code SwingConstants.TRAILING} (the default)
      * </ul>
-     * @exception IllegalArgumentException if <code>textPosition</code>
+     * @exception IllegalArgumentException if {@code textPosition}
      *          is not one of the legal values listed above
      * @beaninfo
      *        bound: true
      *         enum: LEFT     SwingConstants.LEFT
      *               CENTER   SwingConstants.CENTER

@@ -1061,36 +1061,36 @@
 
     private Action action;
     private PropertyChangeListener actionPropertyChangeListener;
 
     /**
-     * Sets the <code>Action</code>.
-     * 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 button, it is not re-registered.
+     * Sets the {@code Action}.
+     * 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 button, 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 button'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 button'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>AbstractButton</code>,
-     *          or <code>null</code>
+     * @param a the {@code Action} for the {@code AbstractButton},
+     *          or {@code null}
      * @since 1.3
      * @see Action
      * @see #getAction
      * @see #configurePropertiesFromAction
      * @see #createActionPropertyChangeListener

@@ -1133,32 +1133,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 button 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) {

@@ -1203,14 +1203,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 button
+     * @param action the {@code Action} associated with this button
      * @param propertyName the name of the property that changed
      * @since 1.6
      * @see Action
      * @see #configurePropertiesFromAction
      */

@@ -1328,17 +1328,17 @@
             }
         }
     }
 
     /**
-     * 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 button will be tied to
-     * that of the <code>Action</code>.
+     * that of the {@code Action}.
      *
      * @param a the button's action
      * @return the {@code PropertyChangeListener}
      * @since 1.3
      * @see Action

@@ -1369,30 +1369,30 @@
             }
         }
     }
 
     /**
-     * Gets the <code>borderPainted</code> property.
+     * Gets the {@code borderPainted} property.
      *
-     * @return the value of the <code>borderPainted</code> property
+     * @return the value of the {@code borderPainted} property
      * @see #setBorderPainted
      */
     public boolean isBorderPainted() {
         return paintBorder;
     }
 
     /**
-     * Sets the <code>borderPainted</code> property.
-     * If <code>true</code> and the button has a border,
+     * Sets the {@code borderPainted} property.
+     * If {@code true} and the button has a border,
      * the border is painted. The default value for the
-     * <code>borderPainted</code> property is <code>true</code>.
+     * {@code borderPainted} property is {@code true}.
      * <p>
      * Some look and feels might not support
-     * the <code>borderPainted</code> property,
+     * the {@code borderPainted} property,
      * in which case they ignore this.
      *
-     * @param b if true and border property is not <code>null</code>,
+     * @param b if true and border property is not {@code null},
      *          the border is painted
      * @see #isBorderPainted
      * @beaninfo
      *        bound: true
      *    attribute: visualUpdate true

@@ -1408,13 +1408,13 @@
             repaint();
         }
     }
 
     /**
-     * Paint the button's border if <code>BorderPainted</code>
+     * Paint the button's border if {@code BorderPainted}
      * property is true and the button has a border.
-     * @param g the <code>Graphics</code> context in which to paint
+     * @param g the {@code Graphics} context in which to paint
      *
      * @see #paint
      * @see #setBorder
      */
     protected void paintBorder(Graphics g) {

@@ -1422,28 +1422,28 @@
             super.paintBorder(g);
         }
     }
 
     /**
-     * Gets the <code>paintFocus</code> property.
+     * Gets the {@code paintFocus} property.
      *
-     * @return the <code>paintFocus</code> property
+     * @return the {@code paintFocus} property
      * @see #setFocusPainted
      */
     public boolean isFocusPainted() {
         return paintFocus;
     }
 
     /**
-     * Sets the <code>paintFocus</code> property, which must
-     * be <code>true</code> for the focus state to be painted.
-     * The default value for the <code>paintFocus</code> property
-     * is <code>true</code>.
+     * Sets the {@code paintFocus} property, which must
+     * be {@code true} for the focus state to be painted.
+     * The default value for the {@code paintFocus} property
+     * is {@code true}.
      * Some look and feels might not paint focus state;
      * they will ignore this property.
      *
-     * @param b if <code>true</code>, the focus state should be painted
+     * @param b if {@code true}, the focus state should be painted
      * @see #isFocusPainted
      * @beaninfo
      *        bound: true
      *    attribute: visualUpdate true
      *  description: Whether focus should be painted

@@ -1457,27 +1457,27 @@
             repaint();
         }
     }
 
     /**
-     * Gets the <code>contentAreaFilled</code> property.
+     * Gets the {@code contentAreaFilled} property.
      *
-     * @return the <code>contentAreaFilled</code> property
+     * @return the {@code contentAreaFilled} property
      * @see #setContentAreaFilled
      */
     public boolean isContentAreaFilled() {
         return contentAreaFilled;
     }
 
     /**
-     * Sets the <code>contentAreaFilled</code> property.
-     * If <code>true</code> the button will paint the content
+     * Sets the {@code contentAreaFilled} property.
+     * If {@code true} the button will paint the content
      * area.  If you wish to have a transparent button, such as
      * an icon only button, for example, then you should set
-     * this to <code>false</code>. Do not call <code>setOpaque(false)</code>.
-     * The default value for the <code>contentAreaFilled</code>
-     * property is <code>true</code>.
+     * this to {@code false}. Do not call {@code setOpaque(false)}.
+     * The default value for the {@code contentAreaFilled}
+     * property is {@code true}.
      * <p>
      * This function may cause the component's opaque property to change.
      * <p>
      * The exact behavior of calling this function varies on a
      * component-by-component and L&amp;F-by-L&amp;F basis.

@@ -1501,28 +1501,28 @@
             repaint();
         }
     }
 
     /**
-     * Gets the <code>rolloverEnabled</code> property.
+     * Gets the {@code rolloverEnabled} property.
      *
-     * @return the value of the <code>rolloverEnabled</code> property
+     * @return the value of the {@code rolloverEnabled} property
      * @see #setRolloverEnabled
      */
     public boolean isRolloverEnabled() {
         return rolloverEnabled;
     }
 
     /**
-     * Sets the <code>rolloverEnabled</code> property, which
-     * must be <code>true</code> for rollover effects to occur.
-     * The default value for the <code>rolloverEnabled</code>
-     * property is <code>false</code>.
+     * Sets the {@code rolloverEnabled} property, which
+     * must be {@code true} for rollover effects to occur.
+     * The default value for the {@code rolloverEnabled}
+     * property is {@code false}.
      * Some look and feels might not implement rollover effects;
      * they will ignore this property.
      *
-     * @param b if <code>true</code>, rollover effects should be painted
+     * @param b if {@code true}, rollover effects should be painted
      * @see #isRolloverEnabled
      * @beaninfo
      *        bound: true
      *    attribute: visualUpdate true
      *  description: Whether rollover effects should be enabled.

@@ -1551,15 +1551,15 @@
      * mouseless modifier (usually Alt) will activate this button
      * if focus is contained somewhere within this button's ancestor
      * window.
      * <p>
      * A mnemonic must correspond to a single key on the keyboard
-     * and should be specified using one of the <code>VK_XXX</code>
-     * keycodes defined in <code>java.awt.event.KeyEvent</code>.
+     * and should be specified using one of the {@code VK_XXX}
+     * keycodes defined in {@code java.awt.event.KeyEvent}.
      * These codes and the wider array of codes for international
      * keyboards may be obtained through
-     * <code>java.awt.event.KeyEvent.getExtendedKeyCodeForChar</code>.
+     * {@code java.awt.event.KeyEvent.getExtendedKeyCodeForChar}.
      * Mnemonics are case-insensitive, therefore a key event
      * with the corresponding keycode would cause the button to be
      * activated whether or not the Shift modifier was pressed.
      * <p>
      * If the character defined by the mnemonic is found within

@@ -1580,11 +1580,11 @@
         model.setMnemonic(mnemonic);
         updateMnemonicProperties();
     }
 
     /**
-     * This method is now obsolete, please use <code>setMnemonic(int)</code>
+     * This method is now obsolete, please use {@code setMnemonic(int)}
      * to set the mnemonic for a button.  This method is only designed
      * to handle character values which fall between 'a' and 'z' or
      * 'A' and 'Z'.
      *
      * @param mnemonic  a char specifying the mnemonic value

@@ -1612,16 +1612,16 @@
      * mnemonic change (such as the mnemonic itself, the text...).
      * You should only ever have to call this if
      * you do not wish the default character to be underlined. For example, if
      * the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A'
      * to be decorated, as 'Save <u>A</u>s', you would have to invoke
-     * <code>setDisplayedMnemonicIndex(5)</code> after invoking
-     * <code>setMnemonic(KeyEvent.VK_A)</code>.
+     * {@code setDisplayedMnemonicIndex(5)} after invoking
+     * {@code setMnemonic(KeyEvent.VK_A)}.
      *
      * @since 1.4
      * @param index Index into the String to underline
-     * @exception IllegalArgumentException will be thrown if <code>index</code>
+     * @exception IllegalArgumentException will be thrown if {@code index}
      *            is &gt;= length of the text, or &lt; -1
      * @see #getDisplayedMnemonicIndex
      *
      * @beaninfo
      *        bound: true

@@ -1730,20 +1730,20 @@
         return multiClickThreshhold;
     }
 
     /**
      * Returns the model that this button represents.
-     * @return the <code>model</code> property
+     * @return the {@code model} property
      * @see #setModel
      */
     public ButtonModel getModel() {
         return model;
     }
 
     /**
      * Sets the model that this button represents.
-     * @param newModel the new <code>ButtonModel</code>
+     * @param newModel the new {@code ButtonModel}
      * @see #getModel
      * @beaninfo
      *        bound: true
      *  description: Model that the Button uses.
      */

@@ -1800,11 +1800,11 @@
     }
 
 
     /**
      * Sets the L&amp;F object that renders this component.
-     * @param ui the <code>ButtonUI</code> L&amp;F object
+     * @param ui the {@code ButtonUI} L&amp;F object
      * @see #getUI
      * @beaninfo
      *        bound: true
      *       hidden: true
      *    attribute: visualUpdate true

@@ -1822,13 +1822,13 @@
     }
 
 
     /**
      * Resets the UI property to a value from the current look
-     * and feel.  Subtypes of <code>AbstractButton</code>
+     * and feel.  Subtypes of {@code AbstractButton}
      * should override this to update the UI. For
-     * example, <code>JButton</code> might do the following:
+     * example, {@code JButton} might do the following:
      * <pre>
      *      setUI((ButtonUI)UIManager.getUI(
      *          "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this));
      * </pre>
      */

@@ -1843,13 +1843,13 @@
      *
      * @param     comp the component to be added
      * @param     constraints an object expressing layout constraints
      *                 for this component
      * @param     index the position in the container's list at which to
-     *                 insert the component, where <code>-1</code>
+     *                 insert the component, where {@code -1}
      *                 means append to the end
-     * @exception IllegalArgumentException if <code>index</code> is invalid
+     * @exception IllegalArgumentException if {@code index} is invalid
      * @exception IllegalArgumentException if adding the container's parent
      *                  to itself
      * @exception IllegalArgumentException if adding a window to a container
      * @since 1.5
      */

@@ -1872,11 +1872,11 @@
         setLayout = true;
         super.setLayout(mgr);
     }
 
     /**
-     * Adds a <code>ChangeListener</code> to the button.
+     * Adds a {@code ChangeListener} to the button.
      * @param l the listener to be added
      */
     public void addChangeListener(ChangeListener l) {
         listenerList.add(ChangeListener.class, l);
     }

@@ -1888,14 +1888,14 @@
     public void removeChangeListener(ChangeListener l) {
         listenerList.remove(ChangeListener.class, l);
     }
 
     /**
-     * Returns an array of all the <code>ChangeListener</code>s added
+     * Returns an array of all the {@code ChangeListener}s added
      * to this AbstractButton with addChangeListener().
      *
-     * @return all of the <code>ChangeListener</code>s added or an empty
+     * @return all of the {@code ChangeListener}s added or an empty
      *         array if no listeners have been added
      * @since 1.4
      */
     public ChangeListener[] getChangeListeners() {
         return listenerList.getListeners(ChangeListener.class);

@@ -1921,22 +1921,22 @@
             }
         }
     }
 
     /**
-     * Adds an <code>ActionListener</code> to the button.
-     * @param l the <code>ActionListener</code> to be added
+     * Adds an {@code ActionListener} to the button.
+     * @param l the {@code ActionListener} to be added
      */
     public void addActionListener(ActionListener l) {
         listenerList.add(ActionListener.class, l);
     }
 
     /**
-     * Removes an <code>ActionListener</code> from the button.
-     * If the listener is the currently set <code>Action</code>
-     * for the button, then the <code>Action</code>
-     * is set to <code>null</code>.
+     * Removes an {@code ActionListener} from the button.
+     * If the listener is the currently set {@code Action}
+     * for the button, then the {@code Action}
+     * is set to {@code null}.
      *
      * @param l the listener to be removed
      */
     public void removeActionListener(ActionListener l) {
         if ((l != null) && (getAction() == l)) {

@@ -1945,42 +1945,42 @@
             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 AbstractButton 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 ActionListener[] getActionListeners() {
         return listenerList.getListeners(ActionListener.class);
     }
 
     /**
-     * Subclasses that want to handle <code>ChangeEvents</code> differently
-     * can override this to return another <code>ChangeListener</code>
+     * Subclasses that want to handle {@code ChangeEvents} differently
+     * can override this to return another {@code ChangeListener}
      * implementation.
      *
-     * @return the new <code>ChangeListener</code>
+     * @return the new {@code ChangeListener}
      */
     protected ChangeListener createChangeListener() {
         return getHandler();
     }
 
     /**
-     * Extends <code>ChangeListener</code> to be serializable.
+     * Extends {@code ChangeListener} to be serializable.
      * <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&trade;
-     * 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")
     protected class ButtonChangeListener implements ChangeListener, Serializable {
         // NOTE: This class is NOT used, instead the functionality has

@@ -1995,14 +1995,14 @@
 
 
     /**
      * Notifies all listeners that have registered interest for
      * notification on this event type.  The event instance
-     * is lazily created using the <code>event</code>
+     * is lazily created using the {@code event}
      * parameter.
      *
-     * @param event  the <code>ActionEvent</code> object
+     * @param event  the {@code ActionEvent} object
      * @see EventListenerList
      */
     protected void fireActionPerformed(ActionEvent event) {
         // Guaranteed to return a non-null array
         Object[] listeners = listenerList.getListenerList();

@@ -2029,13 +2029,13 @@
     }
 
     /**
      * Notifies all listeners that have registered interest for
      * notification on this event type.  The event instance
-     * is lazily created using the <code>event</code> parameter.
+     * is lazily created using the {@code event} parameter.
      *
-     * @param event  the <code>ItemEvent</code> object
+     * @param event  the {@code ItemEvent} object
      * @see EventListenerList
      */
     protected void fireItemStateChanged(ItemEvent event) {
         // Guaranteed to return a non-null array
         Object[] listeners = listenerList.getListenerList();

@@ -2107,66 +2107,66 @@
     // *** Deprecated java.awt.Button APIs below *** //
 
     /**
      * Returns the label text.
      *
-     * @return a <code>String</code> containing the label
-     * @deprecated - Replaced by <code>getText</code>
+     * @return a {@code String} containing the label
+     * @deprecated - Replaced by {@code getText}
      */
     @Deprecated
     public String getLabel() {
         return getText();
     }
 
     /**
      * Sets the label text.
      *
-     * @param label  a <code>String</code> containing the text
-     * @deprecated - Replaced by <code>setText(text)</code>
+     * @param label  a {@code String} containing the text
+     * @deprecated - Replaced by {@code setText(text)}
      * @beaninfo
      *        bound: true
      *  description: Replace by setText(text)
      */
     @Deprecated
     public void setLabel(String label) {
         setText(label);
     }
 
     /**
-     * Adds an <code>ItemListener</code> to the <code>checkbox</code>.
-     * @param l  the <code>ItemListener</code> to be added
+     * Adds an {@code ItemListener} to the {@code checkbox}.
+     * @param l  the {@code ItemListener} to be added
      */
     public void addItemListener(ItemListener l) {
         listenerList.add(ItemListener.class, l);
     }
 
     /**
-     * Removes an <code>ItemListener</code> from the button.
-     * @param l the <code>ItemListener</code> to be removed
+     * Removes an {@code ItemListener} from the button.
+     * @param l the {@code ItemListener} to be removed
      */
     public void removeItemListener(ItemListener l) {
         listenerList.remove(ItemListener.class, l);
     }
 
     /**
-     * Returns an array of all the <code>ItemListener</code>s added
+     * Returns an array of all the {@code ItemListener}s added
      * to this AbstractButton with addItemListener().
      *
-     * @return all of the <code>ItemListener</code>s added or an empty
+     * @return all of the {@code ItemListener}s added or an empty
      *         array if no listeners have been added
      * @since 1.4
      */
     public ItemListener[] getItemListeners() {
         return listenerList.getListeners(ItemListener.class);
     }
 
     /**
      * Returns an array (length 1) containing the label or
-     * <code>null</code> if the button is not selected.
+     * {@code null} if the button is not selected.
      *
      * @return an array containing 1 Object: the text of the button,
-     *         if the item is selected; otherwise <code>null</code>
+     *         if the item is selected; otherwise {@code null}
      */
     public Object[] getSelectedObjects() {
         if (isSelected() == false) {
             return null;
         }

@@ -2197,15 +2197,15 @@
         setAlignmentY(CENTER_ALIGNMENT);
     }
 
 
     /**
-     * This is overridden to return false if the current <code>Icon</code>'s
-     * <code>Image</code> is not equal to the
-     * passed in <code>Image</code> <code>img</code>.
+     * This is overridden to return false if the current {@code Icon}'s
+     * {@code Image} is not equal to the
+     * passed in {@code Image img}.
      *
-     * @param img  the <code>Image</code> to be compared
+     * @param img  the {@code Image} to be compared
      * @param infoflags flags used to repaint the button when the image
      *          is updated and which determine how much is to be painted
      * @param x  the x coordinate
      * @param y  the y coordinate
      * @param w  the width

@@ -2273,21 +2273,21 @@
             super.setUIProperty(propertyName, value);
         }
     }
 
     /**
-     * Returns a string representation of this <code>AbstractButton</code>.
+     * Returns a string representation of this {@code AbstractButton}.
      * 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}.
      * <P>
-     * Overriding <code>paramString</code> to provide information about the
+     * Overriding {@code paramString} to provide information about the
      * specific new aspects of the JFC components.
      *
-     * @return  a string representation of this <code>AbstractButton</code>
+     * @return  a string representation of this {@code AbstractButton}
      */
     protected String paramString() {
         String defaultIconString = ((defaultIcon != null)
                                     && (defaultIcon != this) ?
                                     defaultIcon.toString() : "");

@@ -2388,21 +2388,21 @@
 ///////////////////
 // Accessibility support
 ///////////////////
     /**
      * This class implements accessibility support for the
-     * <code>AbstractButton</code> class.  It provides an implementation of the
+     * {@code AbstractButton} class.  It provides an implementation of the
      * Java Accessibility API appropriate to button and menu item
      * 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&trade;
-     * 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}.
      * @since 1.4
      */
     @SuppressWarnings("serial") // Same-version serialization only
     protected abstract class AccessibleAbstractButton

@@ -2411,11 +2411,11 @@
 
         /**
          * Returns the accessible name of this object.
          *
          * @return the localized name of the object -- can be
-         *              <code>null</code> if this
+         *              {@code null} if this
          *              object does not have a name
          */
         public String getAccessibleName() {
             String name = accessibleName;
 

@@ -3095,22 +3095,22 @@
              * Returns a key binding for this object.  The value returned is an
              * java.lang.Object which must be cast to appropriate type depending
              * on the underlying implementation of the key.  For example, if the
              * Object returned is a javax.swing.KeyStroke, the user of this
              * method should do the following:
-             * <nf><code>
+             * <pre>{@code
              * Component c = <get the component that has the key bindings>
              * AccessibleContext ac = c.getAccessibleContext();
              * AccessibleKeyBinding akb = ac.getAccessibleKeyBinding();
              * for (int i = 0; i < akb.getAccessibleKeyBindingCount(); i++) {
              *     Object o = akb.getAccessibleKeyBinding(i);
              *     if (o instanceof javax.swing.KeyStroke) {
              *         javax.swing.KeyStroke keyStroke = (javax.swing.KeyStroke)o;
              *         <do something with the key binding>
              *     }
              * }
-             * </code></nf>
+             * }</pre>
              *
              * @param i zero-based index of the key bindings
              * @return a javax.lang.Object which specifies the key binding
              * @exception IllegalArgumentException if the index is
              * out of bounds
< prev index next >