Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class AbstractButton

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.AbstractButton

All Implemented Interfaces:
  ImageObserver, ItemSelectable, MenuContainer, Serializable, SwingConstants

Direct Known Subclasses:
  JButton, JMenuItem, JToggleButton

public abstract class AbstractButton
extends JComponent
implements ItemSelectable, SwingConstants

Defines common behaviors for buttons and menu items. For further information see How to Use Buttons, Check Boxes, and Radio Buttons, a section in The Java Tutorial.

Warning: 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. A future release of Swing will provide support for long term persistence.

See Also:
  Serialized Form

Inner Class Summary
`protected class` | `AbstractButton.AccessibleAbstractButton` This class implements accessibility support for the `AbstractButton` class.
`protected class` | `AbstractButton.ButtonChangeListener` Extends `ChangeListener` to be serializable.

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

Field Summary
`protected ActionListener` | `actionListener` The button model's `ActionListener`.
`static String` | `BORDER_PAINTED_CHANGED_PROPERTY` Identifies a change to having the border drawn, or having it not drawn.
`protected ChangeEvent` | `changeEvent` Only one `ChangeEvent` is needed per button instance since the event's only state is the source property.
`protected ChangeListener` | `changeListener` The button model's `changeListener`.
`static String` | `CONTENT_AREA_FILLED_CHANGED_PROPERTY` Identifies a change from rollover enabled to disabled or back to enabled.
`static String` | `DISABLED_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the button has been disabled.
`static String` | `DISABLED_SELECTED_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the button has been disabled and selected.
`static String` | `FOCUS_PAINTED_CHANGED_PROPERTY` Identifies a change to having the border highlighted when focused, or not.
`static String` | `HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY` Identifies a change in the button's horizontal alignment.
`static String` | `HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY` Identifies a change in the button's horizontal text position.
`static String` | `ICON_CHANGED_PROPERTY` Identifies a change to the icon that represents the button.
`protected ItemListener` | `itemListener` The button model's `ItemListener`.
`static String` | `MARGIN_CHANGED_PROPERTY` Identifies a change in the button's margins.
`static String` | `MNEMONIC_CHANGED_PROPERTY` Identifies a change to the button's mnemonic.
`protected ButtonModel` | `model` The data model that determines the button's state.
`static String` | `MODEL_CHANGED_PROPERTY` Identifies a change in the button model.
`static String` | `PRESSED_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the button has been pressed.
`static String` | `ROLLOVER_ENABLED_CHANGED_PROPERTY` Identifies a change in the button's
`static String` | `ROLLOVER_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the cursor is over the button.
`static String` | `ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the cursor is over the button and it has been selected.
`static String` | `SELECTED_ICON_CHANGED_PROPERTY` Identifies a change to the icon used when the button has been selected.
`static String` | `TEXT_CHANGED_PROPERTY` Identifies a change in the button's text.
`static String` | `VERTICAL_ALIGNMENT_CHANGED_PROPERTY` Identifies a change in the button's vertical alignment.
`static String` | `VERTICAL_TEXT_POSITION_CHANGED_PROPERTY` Identifies a change in the button's vertical text position.

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.SwingConstants
`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`AbstractButton()`

Method Summary
`void` | `addActionListener(ActionListener l)` Adds an `ActionListener` to the button.
`void` | `addChangeListener(ChangeListener l)` Adds a `ChangeListener` to the button.
`void` | `addItemListener(ItemListener l)` Adds an `ItemListener` to the `checkbox`.
`protected int` | `checkHorizontalKey(int key, String exception)` Verify that key is a legal value for the `horizontalAlignment` properties.
`protected int` | `checkVerticalKey(int key, String exception)` Ensures that the key is a valid.
`protected void` | `configurePropertiesFromAction(Action a)` Factory method which sets the `ActionEvent` source's properties according to values from the `Action` instance.
`protected ActionListener` | `createActionListener()`
`protected PropertyChangeListener` | `createActionPropertyChangeListener(Action a)` Factory method which creates the `PropertyChangeListener` used to update the `ActionEvent` source as properties change on its `Action` instance.
`protected ChangeListener` | `createChangeListener()` Subclasses that want to handle `ChangeEvents` differently can override this to return another `ChangeListener` implementation.
`protected ItemListener` | `createItemListener()`
`void` | `doClick()` Programmatically perform a "click".
`void` | `doClick(int pressTime)` Programmatically perform a "click".
`protected void` | `fireActionPerformed(ActionEvent event)` Notifies all listeners that have registered interest for notification on this event type.
`protected void` | `fireItemStateChanged(ItemEvent event)` Notifies all listeners that have registered interest for notification on this event type.
`protected void` | `fireStateChanged()` Notifies all listeners that have registered interest for notification on this event type.
`Action` | `getAction()` Returns the currently set `Action` for this `ActionEvent` source, or `null` if no `Action` is set.
`String` | `getActionCommand()` Returns the action command for this button.
`Icon` | `getDisabledIcon()` Returns the icon used by the button when it's disabled.
`Icon` | `getDisabledSelectedIcon()` Returns the icon used by the button when it's disabled and selected.
`int` | `getHorizontalAlignment()` Returns the horizontal alignment of the icon and text.
`int` | `getHorizontalTextPosition()` Returns the horizontal position of the text relative to the icon.
`Icon` | `getIcon()` Returns the default icon.
`String` | `getLabel()` Deprecated. - Replaced by `getText`
`Insets` | `getMargin()` Returns the margin between the button's border and the label.
`int` | `getMnemonic()` Returns the keyboard mnemonic from the the current model.
`ButtonModel` | `getModel()` Returns the model that this button represents.
`Icon` | `getPressedIcon()` Returns the pressed icon for the button.
`Icon` | `getRolloverIcon()` Returns the rollover icon for the button.
`Icon` | `getRolloverSelectedIcon()` Returns the rollover selection icon for the button.
`Icon` | `getSelectedIcon()` Returns the selected icon for the button.
`Object[]` | `getSelectedObjects()` Returns an array (length 1) containing the label or `null` if the button is not selected.
`String` | `getText()` Returns the button's text.
`ButtonUI` | `getUI()` Returns the L&F object that renders this component.
`int` | `getVerticalAlignment()` Returns the vertical alignment of the text and icon.
`int` | `getVerticalTextPosition()` Returns the vertical position of the text relative to the icon.
`boolean` | `imageUpdate(Image img, int infoflags, int x, int y, int w, int h)` This is overridden to return false if the current `Icon`'s `Image` is not equal to the passed in `Image` `img`.
`protected void` | `init(String text, Icon icon)`
`boolean` | `isBorderPainted()` Returns whether the border should be painted.
`boolean` | `isContentAreaFilled()` Checks whether the "content area" of the button should be filled.
`boolean` | `isFocusPainted()` Returns whether focus should be painted.
`boolean` | `isFocusTraversable()` Identifies whether or not this component can receive the focus.
`boolean` | `isRolloverEnabled()` Checks whether rollover effects are enabled.
`boolean` | `isSelected()` Returns the state of the button.
`protected void` | `paintBorder(Graphics g)` Paint the button's border if `BorderPainted` property is true.
`protected String` | `paramString()` Returns a string representation of this `AbstractButton`.
`void` | `removeActionListener(ActionListener l)` Removes an `ActionListener` from the button.
`void` | `removeChangeListener(ChangeListener l)` Removes a ChangeListener from the button.
`void` | `removeItemListener(ItemListener l)` Removes an `ItemListener` from the button.
`void` | `setAction(Action a)` Sets the `Action` for the `ActionEvent` source.
`void` | `setActionCommand(String actionCommand)` Sets the action command for this button.
`void` | `setBorderPainted(boolean b)` Sets whether the border should be painted.
`void` | `setContentAreaFilled(boolean b)` Sets whether the button should paint the content area or leave it transparent.
`void` | `setDisabledIcon(Icon disabledIcon)` Sets the disabled icon for the button.
`void` | `setDisabledSelectedIcon(Icon disabledSelectedIcon)` Sets the disabled selection icon for the button.
`void` | `setEnabled(boolean b)` Enables (or disables) the button.
`void` | `setFocusPainted(boolean b)` Sets whether focus should be painted.
`void` | `setHorizontalAlignment(int alignment)` Sets the horizontal alignment of the icon and text.
`void` | `setHorizontalTextPosition(int textPosition)` Sets the horizontal position of the text relative to the icon.
`void` | `setIcon(Icon defaultIcon)` Sets the button's default icon.
`void` | `setLabel(String label)` Deprecated. - Replaced by `setText(text)`
`void` | `setMargin(Insets m)` Sets space for margin between the button's border and the label.
`void` | `setMnemonic(char mnemonic)` Specifies the mnemonic value.
`void` | `setMnemonic(int mnemonic)` Sets the keyboard mnemonic on the current model.
`void` | `setModel(ButtonModel newModel)` Sets the model that this button represents.
`void` | `setPressedIcon(Icon pressedIcon)` Sets the pressed icon for the button.
`void` | `setRolloverEnabled(boolean b)` Sets whether rollover effects should be enabled.
`void` | `setRolloverIcon(Icon rolloverIcon)` Sets the rollover icon for the button.
`void` | `setRolloverSelectedIcon(Icon rolloverSelectedIcon)` Sets the rollover selected icon for the button.
`void` | `setSelected(boolean b)` Sets the state of the button.
`void` | `setSelectedIcon(Icon selectedIcon)` Sets the selected icon for the button.
`void` | `setText(String text)` Sets the button's text.
`void` | `setUI(ButtonUI ui)` Sets the L&F object that renders this component.
`void` | `setVerticalAlignment(int alignment)` Sets the vertical alignment of the icon and text.
`void` | `setVerticalTextPosition(int textPosition)` Sets the vertical position of the text relative to the icon.
`void` | `updateUI()` Notification from the `UIFactory` that the L&F has changed.

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### MODEL_CHANGED_PROPERTY

    public static final String MODEL_CHANGED_PROPERTY

  Identifies a change in the button model.

### TEXT_CHANGED_PROPERTY

    public static final String TEXT_CHANGED_PROPERTY

  Identifies a change in the button's text.

### MNEMONIC_CHANGED_PROPERTY

    public static final String MNEMONIC_CHANGED_PROPERTY

  Identifies a change to the button's mnemonic.

### MARGIN_CHANGED_PROPERTY

    public static final String MARGIN_CHANGED_PROPERTY

  Identifies a change in the button's margins.

### VERTICAL_ALIGNMENT_CHANGED_PROPERTY

    public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY

  Identifies a change in the button's vertical alignment.

### HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

    public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

  Identifies a change in the button's horizontal alignment.

### VERTICAL_TEXT_POSITION_CHANGED_PROPERTY

    public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY

  Identifies a change in the button's vertical text position.

### HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

    public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

  Identifies a change in the button's horizontal text position.

### BORDER_PAINTED_CHANGED_PROPERTY

    public static final String BORDER_PAINTED_CHANGED_PROPERTY

  Identifies a change to having the border drawn, or having it not drawn.

### FOCUS_PAINTED_CHANGED_PROPERTY

    public static final String FOCUS_PAINTED_CHANGED_PROPERTY

  Identifies a change to having the border highlighted when focused, or not.

### ROLLOVER_ENABLED_CHANGED_PROPERTY

    public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY

  Identifies a change in the button's

### CONTENT_AREA_FILLED_CHANGED_PROPERTY

    public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY

  Identifies a change from rollover enabled to disabled or back to enabled.

### ICON_CHANGED_PROPERTY

    public static final String ICON_CHANGED_PROPERTY

  Identifies a change to the icon that represents the button.

### PRESSED_ICON_CHANGED_PROPERTY

    public static final String PRESSED_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the button has been pressed.

### SELECTED_ICON_CHANGED_PROPERTY

    public static final String SELECTED_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the button has been selected.

### ROLLOVER_ICON_CHANGED_PROPERTY

    public static final String ROLLOVER_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the cursor is over the button.

### ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY

    public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the cursor is over the button and it has been selected.

### DISABLED_ICON_CHANGED_PROPERTY

    public static final String DISABLED_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the button has been disabled.

### DISABLED_SELECTED_ICON_CHANGED_PROPERTY

    public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY

  Identifies a change to the icon used when the button has been disabled and selected.

### model

    protected ButtonModel model

  The data model that determines the button's state.

### changeListener

    protected ChangeListener changeListener

  The button model's `changeListener`.

### actionListener

    protected ActionListener actionListener

  The button model's `ActionListener`.

### itemListener

    protected ItemListener itemListener

  The button model's `ItemListener`.

### changeEvent

    protected transient ChangeEvent changeEvent

  Only one `ChangeEvent` is needed per button instance since the event's only state is the source property. The source of events generated is always "this".

Constructor Detail

### AbstractButton

    public AbstractButton()

Method Detail

### getText

    public String getText()

  Returns the button's text.
  Returns:
    the buttons text
  See Also:
    `setText(java.lang.String)`

### setText

    public void setText(String text)

  Sets the button's text.
  Parameters:
    `t` - the string used to set the text
  See Also:
    `getText()`

### isSelected

    public boolean isSelected()

  Returns the state of the button. True if the toggle button is selected, false if it's not.
  Returns:
    true if the toggle button is selected, otherwise false

### setSelected

    public void setSelected(boolean b)

  Sets the state of the button. Note that this method does not trigger an `actionEvent`. Call `doClick` to perform a programatic action change.
  Parameters:
    `b` - true if the button is selected, otherwise false

### doClick

    public void doClick()

  Programmatically perform a "click". This does the same thing as if the user had pressed and released the button.

### doClick

    public void doClick(int pressTime)

  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 `pressTime` milliseconds.
  Parameters:
    `pressTime` - the time to "hold down" the button, in milliseconds

### setMargin

    public void setMargin(Insets m)

  Sets space for margin between the button's border and the label. Setting to `null` will cause the button to use the default margin. The button's default `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 `Border` object's responsibility to create the appropriate margin space (else this property will effectively be ignored).
  Parameters:
    `m` - the space between the border and the label

### getMargin

    public Insets getMargin()

  Returns the margin between the button's border and the label.
  Returns:
    an `Insets` object specifying the margin between the botton's border and the label
  See Also:
    `setMargin(java.awt.Insets)`

### getIcon

    public Icon getIcon()

  Returns the default icon.
  Returns:
    the default `Icon`
  See Also:
    `setIcon(javax.swing.Icon)`

### setIcon

    public void setIcon(Icon defaultIcon)

  Sets the button's default icon. This icon is also used as the "pressed" and "disabled" icon if there is no explicitly set pressed icon.
  Parameters:
    `defaultIcon` - the icon used as the default image
  See Also:
    `getIcon()`, `setPressedIcon(javax.swing.Icon)`

### getPressedIcon

    public Icon getPressedIcon()

  Returns the pressed icon for the button.
  Returns:
    the `pressedIcon` property
  See Also:
    `setPressedIcon(javax.swing.Icon)`

### setPressedIcon

    public void setPressedIcon(Icon pressedIcon)

  Sets the pressed icon for the button.
  Parameters:
    `pressedIcon` - the icon used as the "pressed" image
  See Also:
    `getPressedIcon()`

### getSelectedIcon

    public Icon getSelectedIcon()

  Returns the selected icon for the button.
  Returns:
    the `selectedIcon` property
  See Also:
    `setSelectedIcon(javax.swing.Icon)`

### setSelectedIcon

    public void setSelectedIcon(Icon selectedIcon)

  Sets the selected icon for the button.
  Parameters:
    `selectedIcon` - the icon used as the "selected" image
  See Also:
    `getSelectedIcon()`

### getRolloverIcon

    public Icon getRolloverIcon()

  Returns the rollover icon for the button.
  Returns:
    the `rolloverIcon` property
  See Also:
    `setRolloverIcon(javax.swing.Icon)`

### setRolloverIcon

    public void setRolloverIcon(Icon rolloverIcon)

  Sets the rollover icon for the button.
  Parameters:
    `rolloverIcon` - the icon used as the "rollover" image
  See Also:
    `getRolloverIcon()`

### getRolloverSelectedIcon

    public Icon getRolloverSelectedIcon()

  Returns the rollover selection icon for the button.
  Returns:
    the `rolloverSelectedIcon` property
  See Also:
    `setRolloverSelectedIcon(javax.swing.Icon)`

### setRolloverSelectedIcon

    public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)

  Sets the rollover selected icon for the button.
  Parameters:
    `rolloverSelectedIcon` - the icon used as the "selected rollover" image
  See Also:
    `getRolloverSelectedIcon()`

### getDisabledIcon

    public Icon getDisabledIcon()

  Returns the icon used by the button when it's disabled. If no disabled icon has been set, the button constructs one from the default icon.
  Returns:
    the `disabledIcon` property
  See Also:
    `getPressedIcon()`, `setDisabledIcon(javax.swing.Icon)`

### setDisabledIcon

    public void setDisabledIcon(Icon disabledIcon)

  Sets the disabled icon for the button.
  Parameters:
    `disabledIcon` - the icon used as the disabled image
  See Also:
    `getDisabledIcon()`

### getDisabledSelectedIcon

    public Icon getDisabledSelectedIcon()

  Returns the icon used by the button when it's disabled and selected. If not no disabled selection icon has been set, the button constructs one from the selection icon.
  Returns:
    the `disabledSelectedIcon` property
  See Also:
    `getPressedIcon()`, `setDisabledIcon(javax.swing.Icon)`

### setDisabledSelectedIcon

    public void setDisabledSelectedIcon(Icon disabledSelectedIcon)

  Sets the disabled selection icon for the button.
  Parameters:
    `disabledSelectedIcon` - the icon used as the disabled selection image
  See Also:
    `getDisabledSelectedIcon()`

### getVerticalAlignment

    public int getVerticalAlignment()

  Returns the vertical alignment of the text and icon.
  Returns:
    the `verticalAlignment` property, one of the following values:
    - SwingConstants.CENTER (the default)
    - SwingConstants.TOP
    - SwingConstants.BOTTOM

### setVerticalAlignment

    public void setVerticalAlignment(int alignment)

  Sets the vertical alignment of the icon and text.
  Parameters:
    `alignment` - one of the following values:
    - SwingConstants.CENTER (the default)
    - SwingConstants.TOP
    - SwingConstants.BOTTOM

### getHorizontalAlignment

    public int getHorizontalAlignment()

  Returns the horizontal alignment of the icon and text.
  Returns:
    the `horizontalAlignment` property, one of the following values:
    - SwingConstants.RIGHT (the default)
    - SwingConstants.LEFT
    - SwingConstants.CENTER
    - SwingConstants.LEADING
    - SwingConstants.TRAILING

### setHorizontalAlignment

    public void setHorizontalAlignment(int alignment)

  Sets the horizontal alignment of the icon and text.
  Parameters:
    `alignment` - one of the following values:
    - SwingConstants.RIGHT (the default)
    - SwingConstants.LEFT
    - SwingConstants.CENTER
    - SwingConstants.LEADING
    - SwingConstants.TRAILING

### getVerticalTextPosition

    public int getVerticalTextPosition()

  Returns the vertical position of the text relative to the icon.
  Returns:
    the `verticalTextPosition` property, one of the following values:
    - SwingConstants.CENTER (the default)
    - SwingConstants.TOP
    - SwingConstants.BOTTOM

### setVerticalTextPosition

    public void setVerticalTextPosition(int textPosition)

  Sets the vertical position of the text relative to the icon.
  Parameters:
    `alignment` - one of the following values:
    - SwingConstants.CENTER (the default)
    - SwingConstants.TOP
    - SwingConstants.BOTTOM

### getHorizontalTextPosition

    public int getHorizontalTextPosition()

  Returns the horizontal position of the text relative to the icon.
  Returns:
    the `horizontalTextPosition` property, one of the following values:
    - SwingConstants.RIGHT (the default)
    - SwingConstants.LEFT
    - SwingConstants.CENTER
    - SwingConstants.LEADING
    - SwingConstants.TRAILING

### setHorizontalTextPosition

    public void setHorizontalTextPosition(int textPosition)

  Sets the horizontal position of the text relative to the icon.
  Parameters:
    `textPosition` - one of the following values:
    - SwingConstants.RIGHT (the default)
    - SwingConstants.LEFT
    - SwingConstants.CENTER
    - SwingConstants.LEADING
    - SwingConstants.TRAILING
  Throws:
    `IllegalArgumentException` - if `textPosition`

  ### checkHorizontalKey

      protected int checkHorizontalKey(int key,
                                       String exception)

    Verify that key is a legal value for the `horizontalAlignment` properties.
    Parameters:
      `key` - the property value to check, one of the following values:
      - SwingConstants.RIGHT (the default)
      - SwingConstants.LEFT
      - SwingConstants.CENTER
      - SwingConstants.LEADING
      - SwingConstants.TRAILING
      `exception` - the `IllegalArgumentException` detail message
    Throws:
      `IllegalArgumentException` - if key is not one of the legal values listed above
    See Also:
      `setHorizontalTextPosition(int)`, `setHorizontalAlignment(int)`

  ### checkVerticalKey

      protected int checkVerticalKey(int key,
                                     String exception)

    Ensures that the key is a valid. Throws an `IllegalArgumentException` exception otherwise.
    Parameters:
      `key` - the value to check, one of the following values:
      - SwingConstants.CENTER (the default)
      - SwingConstants.TOP
      - SwingConstants.BOTTOM
      `exception` - a string to be passed to the `IllegalArgumentException` call if key is not one of the valid values listed above
    Throws:
      `IllegalArgumentException` - if key is not one of the legal values listed above

  ### setActionCommand

      public void setActionCommand(String actionCommand)

    Sets the action command for this button.
    Parameters:
      `actionCommand` - the action command for this button

  ### getActionCommand

      public String getActionCommand()

    Returns the action command for this button.
    Returns:
      the action command for this button

  ### setAction

      public void setAction(Action a)

    Sets the `Action` for the `ActionEvent` source. The new `Action` replaces any previously set `Action` but does not affect `ActionListeners` independently added with `addActionListener`. If the `Action` is already a registered `ActionListener` for the button, it is not re-registered.

    A side-effect of setting the `Action` is that the `ActionEvent` source's properties are immediately set from the values in the `Action` (performed by the method `configurePropertiesFromAction`) and subsequently updated as the `Action`'s properties change (via a `PropertyChangeListener` created by the method `createActionPropertyChangeListener`.

    Parameters:
      `a` - the `Action` for the `AbstractButton`, or `null`
    Since:
      1.3
    See Also:
      `Action`, `getAction()`, `configurePropertiesFromAction(javax.swing.Action)`, `createActionPropertyChangeListener(javax.swing.Action)`

  ### getAction

      public Action getAction()

    Returns the currently set `Action` for this `ActionEvent` source, or `null` if no `Action` is set.
    Returns:
      the `Action` for this `ActionEvent` source, or `null`
    Since:
      1.3
    See Also:
      `Action`, `setAction(javax.swing.Action)`

  ### configurePropertiesFromAction

      protected void configurePropertiesFromAction(Action a)

    Factory method which sets the `ActionEvent` source's properties according to values from the `Action` instance. The properties which are set may differ for subclasses. By default, the properties which get set are `Text`, `Icon Enabled`, `ToolTipText` and `Mnemonic`.

    If the `Action` passed in is `null`, the following things will occur:

    - the text is set to `null`,
    - the icon is set to `null`,
    - enabled is set to true,
    - the tooltip text is set to `null`
    Parameters:
      `a` - the `Action` from which to get the properties, or `null`
    Since:
      1.3
    See Also:
      `Action`, `setAction(javax.swing.Action)`

  ### createActionPropertyChangeListener

      protected PropertyChangeListener createActionPropertyChangeListener(Action a)

    Factory method which creates the `PropertyChangeListener` used to update the `ActionEvent` source as properties change on its `Action` instance. Subclasses may override this in order to provide their own `PropertyChangeListener` if the set of properties which should be kept up to date differs from the default properties (`Text, Icon, Enabled, ToolTipText, Mnemonic`).

    Note that `PropertyChangeListeners` should avoid holding strong references to the `ActionEvent` source, as this may hinder garbage collection of the `ActionEvent` source and all components in its containment hierarchy.

    Parameters:
      `a` - the new action for the button
    Since:
      1.3
    See Also:
      `Action`, `setAction(javax.swing.Action)`

  ### isBorderPainted

      public boolean isBorderPainted()

    Returns whether the border should be painted.
    Returns:
      true if the border should be painted, false otherwise
    See Also:
      `setBorderPainted(boolean)`

  ### setBorderPainted

      public void setBorderPainted(boolean b)

    Sets whether the border should be painted.
    Parameters:
      `b` - if true and border property is not `null`, the border is painted.
    See Also:
      `isBorderPainted()`

  ### paintBorder

      protected void paintBorder(Graphics g)

    Paint the button's border if `BorderPainted` property is true.
    Overrides:
      `paintBorder` in class `JComponent`
    Parameters:
      `g` - the `Graphics` context in which to paint
    See Also:
      `JComponent.paint(java.awt.Graphics)`, `JComponent.setBorder(javax.swing.border.Border)`

  ### isFocusPainted

      public boolean isFocusPainted()

    Returns whether focus should be painted.
    Returns:
      the `paintFocus` property
    See Also:
      `setFocusPainted(boolean)`

  ### setFocusPainted

      public void setFocusPainted(boolean b)

    Sets whether focus should be painted.
    Parameters:
      `b` - if true, the focus state is painted
    See Also:
      `isFocusPainted()`

  ### isContentAreaFilled

      public boolean isContentAreaFilled()

    Checks whether the "content area" of the button should be filled.
    Returns:
      the `contentAreaFilled` property
    See Also:
      `setFocusPainted(boolean)`

  ### setContentAreaFilled

      public void setContentAreaFilled(boolean b)

    Sets whether the button should paint the content area or leave it transparent. If you wish to have a transparent button, for example and icon only button, then you should set this to false. Do not call `setOpaque(false)`. Whether the button follows the `RepaintManager`'s concept of opacity is L&F depandant.

    This function may cause the component's opaque property to change.

    The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.

    Parameters:
      `b` - if true, rollover effects should be painted
    See Also:
      `isContentAreaFilled()`, `JComponent.setOpaque(boolean)`

  ### isRolloverEnabled

      public boolean isRolloverEnabled()

    Checks whether rollover effects are enabled.
    Returns:
      the `rolloverEnabled` property
    See Also:
      `setFocusPainted(boolean)`

  ### setRolloverEnabled

      public void setRolloverEnabled(boolean b)

    Sets whether rollover effects should be enabled.
    Parameters:
      `b` - if true, rollover effects should be painted
    See Also:
      `isRolloverEnabled()`

  ### getMnemonic

      public int getMnemonic()

    Returns the keyboard mnemonic from the the current model.
    Returns:
      the keyboard mnemonic from the model

  ### setMnemonic

      public void setMnemonic(int mnemonic)

    Sets the keyboard mnemonic on the current model.
    Parameters:
      `mnemonic` - the key code which represents the mnemonic

  ### setMnemonic

      public void setMnemonic(char mnemonic)

    Specifies the mnemonic value.
    Parameters:
      `mnemonic` - a char specifying the mnemonic value

  ### isFocusTraversable

      public boolean isFocusTraversable()

    Identifies whether or not this component can receive the focus.
    Overrides:
      `isFocusTraversable` in class `JComponent`
    Returns:
      true if this component can receive the focus

  ### getModel

      public ButtonModel getModel()

    Returns the model that this button represents.
    Returns:
      the `model` property
    See Also:
      `setModel(javax.swing.ButtonModel)`

  ### setModel

      public void setModel(ButtonModel newModel)

    Sets the model that this button represents.
    Parameters:
      `m` - the new `ButtonModel`
    See Also:
      `getModel()`

  ### getUI

      public ButtonUI getUI()

    Returns the L&F object that renders this component.
    Returns:
      the ButtonUI object
    See Also:
      `setUI(javax.swing.plaf.ButtonUI)`

  ### setUI

      public void setUI(ButtonUI ui)

    Sets the L&F object that renders this component.
    Parameters:
      `ui` - the `ButtonUI` L&F object
    See Also:
      `getUI()`

  ### updateUI

      public void updateUI()

    Notification from the `UIFactory` that the L&F has changed. Subtypes of `AbstractButton` should override this to update the UI. For example, `JButton` might do the following:

              setUI((ButtonUI)UIManager.getUI(
                  "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this));

    Overrides:
      `updateUI` in class `JComponent`
    Following copied from class: `javax.swing.JComponent`
    See Also:
      `JComponent.setUI(javax.swing.plaf.ComponentUI)`, `UIManager.getLookAndFeel()`, `UIManager.getUI(javax.swing.JComponent)`

  ### addChangeListener

      public void addChangeListener(ChangeListener l)

    Adds a `ChangeListener` to the button.
    Parameters:
      `l` - the listener to be added

  ### removeChangeListener

      public void removeChangeListener(ChangeListener l)

    Removes a ChangeListener from the button.
    Parameters:
      `l` - the listener to be removed

  ### fireStateChanged

      protected void fireStateChanged()

    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
    See Also:
      `EventListenerList`

  ### addActionListener

      public void addActionListener(ActionListener l)

    Adds an `ActionListener` to the button.
    Parameters:
      `l` - the `ActionListener` to be added

  ### removeActionListener

      public void removeActionListener(ActionListener l)

    Removes an `ActionListener` from the button. If the listener is the currently set `Action` for the button, then the `Action` is set to `null`.
    Parameters:
      `l` - the listener to be removed

  ### createChangeListener

      protected ChangeListener createChangeListener()

    Subclasses that want to handle `ChangeEvents` differently can override this to return another `ChangeListener` implementation.
    Returns:
      the new `ButtonChangeListener`

  ### fireActionPerformed

      protected void fireActionPerformed(ActionEvent event)

    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
    Parameters:
      `e` - the `ActionEvent` object
    See Also:
      `EventListenerList`

  ### fireItemStateChanged

      protected void fireItemStateChanged(ItemEvent event)

    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.
    Parameters:
      `event` - the `ItemEvent` object
    See Also:
      `EventListenerList`

  ### createActionListener

      protected ActionListener createActionListener()

  ### createItemListener

      protected ItemListener createItemListener()

  ### setEnabled

      public void setEnabled(boolean b)

    Enables (or disables) the button.
    Overrides:
      `setEnabled` in class `JComponent`
    Parameters:
      `b` - true to enable the button, otherwise false

  ### getLabel

      public String getLabel()

    Deprecated. - Replaced by `getText`

    Returns the label text.
    Returns:
      a `String` containing the label

  ### setLabel

      public void setLabel(String label)

    Deprecated. - Replaced by `setText(text)`

    Sets the label text.
    Parameters:
      `label` - a `String` containing the text

  ### addItemListener

      public void addItemListener(ItemListener l)

    Adds an `ItemListener` to the `checkbox`.
    Specified by:
      `addItemListener` in interface `ItemSelectable`
    Parameters:
      `l` - the `ItemListener` to be added

  ### removeItemListener

      public void removeItemListener(ItemListener l)

    Removes an `ItemListener` from the button.
    Specified by:
      `removeItemListener` in interface `ItemSelectable`
    Parameters:
      `l` - the `ItemListener` to be removed

  ### getSelectedObjects

      public Object[] getSelectedObjects()

    Returns an array (length 1) containing the label or `null` if the button is not selected.
    Specified by:
      `getSelectedObjects` in interface `ItemSelectable`
    Returns:
      an array containing 1 Object: the text of the button, if the item is selected; otherwise `null`

  ### init

      protected void init(String text,
                          Icon icon)

  ### imageUpdate

      public boolean imageUpdate(Image img,
                                 int infoflags,
                                 int x,
                                 int y,
                                 int w,
                                 int h)

    This is overridden to return false if the current `Icon`'s `Image` is not equal to the passed in `Image` `img`.
    Overrides:
      `imageUpdate` in class `Component`
    Parameters:
      `img` - the `Image` to be compared
      `infoflags` - flags used to repaint the button when the image is updated and which determine how much is to be painted
      `x` - the x coordinate
      `y` - the y coordinate
      `w` - the width
      `h` - the height
    See Also:
      `ImageObserver`, `Component.imageUpdate(java.awt.Image, int, int, int, int, int)`

  ### paramString

      protected String paramString()

    Returns a string representation of this `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 `null`.

    Overriding `paramString` to provide information about the specific new aspects of the JFC components.

    Overrides:
      `paramString` in class `JComponent`
    Returns:
      a string representation of this `AbstractButton`

  Overview | Package | Class | Use | Tree | Deprecated | Index | Help
  | JavaTM 2 Platform Std. Ed. v1.3.1
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

  Submit a bug or feature
  For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

  Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
  Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
  Palo Alto, California, 94303, U.S.A. All Rights Reserved.