JavaTM 2 Platform
Std. Ed. v1.3.1

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

JavaTM 2 Platform
Std. Ed. v1.3.1

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.