This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.swing
class AbstractButton

java.lang.Object extended by java.awt.Component extended by java.awt.Container extended by javax.swing.JComponent extended by javax.swing.AbstractButton
All Implemented Interfaces:
ItemSelectable, MenuContainer, ImageObserver, Serializable, SwingConstants, TransferHandler.HasGetTransferHandler
Direct Known Subclasses:
JButton, JMenuItem, JToggleButton

public abstract class AbstractButton
extends JComponent
implements ItemSelectable, SwingConstants

Defines common behaviors for buttons and menu items.

Buttons can be configured, and to some degree controlled, by Actions. Using an Action with a button has many benefits beyond directly configuring a button. Refer to Swing Components Supporting Action for more details, and you can find more information in How to Use Actions, a section in The Java Tutorial.

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. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see {@link java.beans.XMLEncoder}.


Nested Class Summary
protected abstract class

           This class implements accessibility support for the AbstractButton class.
protected class

           Extends ChangeListener to be serializable.
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
   
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 transient 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 to having the button paint the content area.
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 from rollover enabled to disabled or back to enabled.
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
 
Constructor Summary

          
 
Method Summary
protected void
actionPropertyChanged(Action action, String propertyName)

          Updates the button's state in response to property changes in the associated action.
 void

          Adds an ActionListener to the button.
 void

          Adds a ChangeListener to the button.
protected void
addImpl(Component comp, Object constraints, int index)

          Adds the specified component to this container at the specified index, refer to java.awt.Container.addImpl for a complete description of this method.
 void

          Adds an ItemListener to the checkbox.
 void

          
protected int
checkHorizontalKey(int key, String exception)

          Verify that the argument is a legal value for the and properties.
protected int
checkVerticalKey(int key, String exception)

          Verify that the argument is a legal value for the vertical properties.
protected void

          Sets the properties on this button to match those in the specified Action.
protected ActionListener

          
protected PropertyChangeListener

          Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties.
protected ChangeListener

          Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation.
protected ItemListener

          
 void

          Programmatically perform a "click".
 void
doClick(int pressTime)

          Programmatically perform a "click".
protected void

          Notifies all listeners that have registered interest for notification on this event type.
protected void

          Notifies all listeners that have registered interest for notification on this event type.
protected void

          Notifies all listeners that have registered interest for notification on this event type.
 Action

          Returns the currently set Action for this ActionEvent source, or null if no Action is set.
 String

          Returns the action command for this button.
 ActionListener[]

          Returns an array of all the ActionListeners added to this AbstractButton with addActionListener().
 ChangeListener[]

          Returns an array of all the ChangeListeners added to this AbstractButton with addChangeListener().
 Icon

          Returns the icon used by the button when it's disabled.
 Icon

          Returns the icon used by the button when it's disabled and selected.
 int

          Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.
 boolean

          Returns the value of the hideActionText property, which determines whether the button displays text from the Action.
 int

          Returns the horizontal alignment of the icon and text.
 int

          Returns the horizontal position of the text relative to the icon.
 Icon

          Returns the default icon.
 int

          Returns the amount of space between the text and the icon displayed in this button.
 ItemListener[]

          Returns an array of all the ItemListeners added to this AbstractButton with addItemListener().
 String

          Returns the label text.
 Insets

          Returns the margin between the button's border and the label.
 int

          Returns the keyboard mnemonic from the the current model.
 ButtonModel

          Returns the model that this button represents.
 long

          Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.
 Icon

          Returns the pressed icon for the button.
 Icon

          Returns the rollover icon for the button.
 Icon

          Returns the rollover selection icon for the button.
 Icon

          Returns the selected icon for the button.
 Object[]

          Returns an array (length 1) containing the label or null if the button is not selected.
 String

          Returns the button's text.
 ButtonUI

          Returns the L&F object that renders this component.
 int

          Returns the vertical alignment of the text and icon.
 int

          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

          Gets the borderPainted property.
 boolean

          Gets the contentAreaFilled property.
 boolean

          Gets the paintFocus property.
 boolean

          Gets the rolloverEnabled property.
 boolean

          Returns the state of the button.
protected void

          Paint the button's border if BorderPainted property is true and the button has a border.
protected String

          Returns a string representation of this AbstractButton.
 void

          Removes an ActionListener from the button.
 void

          Removes a ChangeListener from the button.
 void

          Removes an ItemListener from the button.
 void

          Notifies this component that it no longer has a parent component.
 void

          Sets the Action.
 void
setActionCommand(String actionCommand)

          Sets the action command for this button.
 void
setBorderPainted(boolean b)

          Sets the borderPainted property.
 void

          Sets the contentAreaFilled property.
 void
setDisabledIcon(Icon disabledIcon)

          Sets the disabled icon for the button.
 void
setDisabledSelectedIcon(Icon disabledSelectedIcon)

          Sets the disabled selection icon for the button.
 void

          Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.
 void
setEnabled(boolean b)

          Enables (or disables) the button.
 void
setFocusPainted(boolean b)

          Sets the paintFocus property, which must be true for the focus state to be painted.
 void
setHideActionText(boolean hideActionText)

          Sets the hideActionText property, which determines whether the button displays text from the Action.
 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
setIconTextGap(int iconTextGap)

          If both the icon and text properties are set, this property defines the space between them.
 void

          Sets the label text.
 void

          Sets the layout manager for this container, refer to java.awt.Container.setLayout for a complete description of this method.
 void

          Sets space for margin between the button's border and the label.
 void
setMnemonic(char mnemonic)

          This method is now obsolete, please use setMnemonic(int) to set the mnemonic for a button.
 void
setMnemonic(int mnemonic)

          Sets the keyboard mnemonic on the current model.
 void

          Sets the model that this button represents.
 void
setMultiClickThreshhold(long threshhold)

          Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.
 void
setPressedIcon(Icon pressedIcon)

          Sets the pressed icon for the button.
 void
setRolloverEnabled(boolean b)

          Sets the rolloverEnabled property, which must be true for rollover effects to occur.
 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

          Sets the button's text.
 void

          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

          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

actionListener

protected ActionListener actionListener
The button model's ActionListener.

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.

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".

changeListener

protected ChangeListener changeListener
The button model's changeListener.

CONTENT_AREA_FILLED_CHANGED_PROPERTY

public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
Identifies a change to having the button paint the content area.

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.

FOCUS_PAINTED_CHANGED_PROPERTY

public static final String FOCUS_PAINTED_CHANGED_PROPERTY
Identifies a change to having the border highlighted when focused, or not.

HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
Identifies a change in the button's horizontal alignment.

HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
Identifies a change in the button's horizontal text position.

ICON_CHANGED_PROPERTY

public static final String ICON_CHANGED_PROPERTY
Identifies a change to the icon that represents the button.

itemListener

protected ItemListener itemListener
The button model's ItemListener.

MARGIN_CHANGED_PROPERTY

public static final String MARGIN_CHANGED_PROPERTY
Identifies a change in the button's margins.

MNEMONIC_CHANGED_PROPERTY

public static final String MNEMONIC_CHANGED_PROPERTY
Identifies a change to the button's mnemonic.

model

protected ButtonModel model
The data model that determines the button's state.

MODEL_CHANGED_PROPERTY

public static final String MODEL_CHANGED_PROPERTY
Identifies a change in the button model.

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.

ROLLOVER_ENABLED_CHANGED_PROPERTY

public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
Identifies a change from rollover enabled to disabled or back to enabled.

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.

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.

TEXT_CHANGED_PROPERTY

public static final String TEXT_CHANGED_PROPERTY
Identifies a change in the button's text.

VERTICAL_ALIGNMENT_CHANGED_PROPERTY

public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
Identifies a change in the button's vertical 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.
Constructor Detail

AbstractButton

public AbstractButton()
Method Detail

actionPropertyChanged

protected void actionPropertyChanged(Action action,
                                     String propertyName)
Updates the button's state in response to property changes in the associated action. This method is invoked from the {@code PropertyChangeListener} returned from {@code createActionPropertyChangeListener}. Subclasses do not normally need to invoke this. Subclasses that support additional {@code Action} properties should override this and {@code configurePropertiesFromAction}.

Refer to the table at Swing Components Supporting Action for a list of the properties this method sets.

Parameters:
action - the Action associated with this button
propertyName - the name of the property that changed

addActionListener

public void addActionListener(ActionListener l)
Adds an ActionListener to the button.

Parameters:
l - the ActionListener to be added

addChangeListener

public void addChangeListener(ChangeListener l)
Adds a ChangeListener to the button.

Parameters:
l - the listener to be added

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
Adds the specified component to this container at the specified index, refer to {@link java.awt.Container#addImpl(Component, Object, int)} for a complete description of this method.

Overrides:
addImpl in class Container
Parameters:
comp - the component to be added
constraints - an object expressing layout constraints for this component
index - the position in the container's list at which to insert the component, where -1 means append to the end

addItemListener

public void addItemListener(ItemListener l)
Adds an ItemListener to the checkbox.

Parameters:
l - the ItemListener to be added

check

This is a method placeholder, which does not actually exist in the API. The description below should suggest how to achieve the behavior that this method would provide, if it existed.
public void check()
Someone was expecting to find a method with this name, but such a method does not exist. Can you edit this placeholder's comment field to explain how to perform this functionality?


checkHorizontalKey

protected int checkHorizontalKey(int key,
                                 String exception)
Verify that the {@code key} argument is a legal value for the {@code horizontalAlignment} and {@code horizontalTextPosition} properties. Valid values are:

Parameters:
key - the property value to check
exception - the message to use in the {@code IllegalArgumentException} that is thrown for an invalid value

checkVerticalKey

protected int checkVerticalKey(int key,
                               String exception)
Verify that the {@code key} argument is a legal value for the vertical properties. Valid values are:

Parameters:
key - the property value to check
exception - the message to use in the {@code IllegalArgumentException} that is thrown for an invalid value

configurePropertiesFromAction

protected void configurePropertiesFromAction(Action a)
Sets the properties on this button to match those in the specified Action. Refer to Swing Components Supporting Action for more details as to which properties this sets.

Parameters:
a - the Action from which to get the properties, or null

createActionListener

protected ActionListener createActionListener()

createActionPropertyChangeListener

protected PropertyChangeListener createActionPropertyChangeListener(Action a)
Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties.

Warning: 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 Action.

Parameters:
a - the button's action

createChangeListener

protected ChangeListener createChangeListener()
Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation.

Returns:
the new ChangeListener

createItemListener

protected ItemListener createItemListener()

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

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 event parameter.

Parameters:
event - the ActionEvent object

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 event parameter.

Parameters:
event - the ItemEvent object

fireStateChanged

protected void fireStateChanged()
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created.


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

getActionCommand

public String getActionCommand()
Returns the action command for this button.

Returns:
the action command for this button

getActionListeners

public ActionListener[] getActionListeners()
Returns an array of all the ActionListeners added to this AbstractButton with addActionListener().

Returns:
all of the ActionListeners added or an empty array if no listeners have been added

getChangeListeners

public ChangeListener[] getChangeListeners()
Returns an array of all the ChangeListeners added to this AbstractButton with addChangeListener().

Returns:
all of the ChangeListeners added or an empty array if no listeners have been added

getDisabledIcon

public Icon getDisabledIcon()
Returns the icon used by the button when it's disabled. If no disabled icon has been set this will forward the call to the look and feel to construct an appropriate disabled Icon.

Some look and feels might not render the disabled Icon, in which case they will ignore this.

Returns:
the disabledIcon property

getDisabledSelectedIcon

public Icon getDisabledSelectedIcon()
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 getDisabledIcon() otherwise.

Some look and feels might not render the disabled selected Icon, in which case they will ignore this.

Returns:
the disabledSelectedIcon property

getDisplayedMnemonicIndex

public int getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.

Returns:
index representing mnemonic character

getHideActionText

public boolean getHideActionText()
Returns the value of the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.

Returns:
true if the button's text property should not reflect that of the Action; the default is false

getHorizontalAlignment

public int getHorizontalAlignment()
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.

Returns:
the horizontalAlignment property, one of the following values:
  • {@code SwingConstants.RIGHT}
  • {@code SwingConstants.LEFT}
  • {@code SwingConstants.CENTER}
  • {@code SwingConstants.LEADING}
  • {@code SwingConstants.TRAILING}

getHorizontalTextPosition

public int getHorizontalTextPosition()
Returns the horizontal position of the text relative to the icon.

Returns:
the horizontalTextPosition property, one of the following values:
  • {@code SwingConstants.RIGHT}
  • {@code SwingConstants.LEFT}
  • {@code SwingConstants.CENTER}
  • {@code SwingConstants.LEADING}
  • {@code SwingConstants.TRAILING} (the default)

getIcon

public Icon getIcon()
Returns the default icon.

Returns:
the default Icon

getIconTextGap

public int getIconTextGap()
Returns the amount of space between the text and the icon displayed in this button.

Returns:
an int equal to the number of pixels between the text and the icon.

getItemListeners

public ItemListener[] getItemListeners()
Returns an array of all the ItemListeners added to this AbstractButton with addItemListener().

Returns:
all of the ItemListeners added or an empty array if no listeners have been added

getLabel

public String getLabel()
Returns the label text.

Returns:
a String containing 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

getMnemonic

public int getMnemonic()
Returns the keyboard mnemonic from the the current model.

Returns:
the keyboard mnemonic from the model

getModel

public ButtonModel getModel()
Returns the model that this button represents.

Returns:
the model property

getMultiClickThreshhold

public long getMultiClickThreshhold()
Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.

Returns:
the amount of time required between mouse press events to generate corresponding action events

getPressedIcon

public Icon getPressedIcon()
Returns the pressed icon for the button.

Returns:
the pressedIcon property

getRolloverIcon

public Icon getRolloverIcon()
Returns the rollover icon for the button.

Returns:
the rolloverIcon property

getRolloverSelectedIcon

public Icon getRolloverSelectedIcon()
Returns the rollover selection icon for the button.

Returns:
the rolloverSelectedIcon property

getSelectedIcon

public Icon getSelectedIcon()
Returns the selected icon for the button.

Returns:
the selectedIcon property

getSelectedObjects

public Object[] getSelectedObjects()
Returns an array (length 1) containing the label or null if the button is not selected.

Returns:
an array containing 1 Object: the text of the button, if the item is selected; otherwise null

getText

public String getText()
Returns the button's text.

Returns:
the buttons text

getUI

public ButtonUI getUI()
Returns the L&F object that renders this component.

Returns:
the ButtonUI object

getVerticalAlignment

public int getVerticalAlignment()
Returns the vertical alignment of the text and icon.

Returns:
the verticalAlignment property, one of the following values:
  • {@code SwingConstants.CENTER} (the default)
  • {@code SwingConstants.TOP}
  • {@code SwingConstants.BOTTOM}

getVerticalTextPosition

public int getVerticalTextPosition()
Returns the vertical position of the text relative to the icon.

Returns:
the verticalTextPosition property, one of the following values:
  • {@code SwingConstants.CENTER} (the default)
  • {@code SwingConstants.TOP}
  • {@code SwingConstants.BOTTOM}

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

init

protected void init(String text,
                    Icon icon)
Parameters:
text
icon

isBorderPainted

public boolean isBorderPainted()
Gets the borderPainted property.

Returns:
the value of the borderPainted property

isContentAreaFilled

public boolean isContentAreaFilled()
Gets the contentAreaFilled property.

Returns:
the contentAreaFilled property

isFocusPainted

public boolean isFocusPainted()
Gets the paintFocus property.

Returns:
the paintFocus property

isRolloverEnabled

public boolean isRolloverEnabled()
Gets the rolloverEnabled property.

Returns:
the value of the rolloverEnabled property

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

paintBorder

protected void paintBorder(Graphics g)
Paint the button's border if BorderPainted property is true and the button has a border.

Overrides:
paintBorder in class JComponent
Parameters:
g - the Graphics context in which to paint

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

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

removeChangeListener

public void removeChangeListener(ChangeListener l)
Removes a ChangeListener from the button.

Parameters:
l - the listener to be removed

removeItemListener

public void removeItemListener(ItemListener l)
Removes an ItemListener from the button.

Parameters:
l - the ItemListener to be removed

removeNotify

public void removeNotify()
{@inheritDoc}

Overrides:
removeNotify in class JComponent

setAction

public void setAction(Action a)
Sets the Action. 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.

Setting the Action results in immediately changing all the properties described in Swing Components Supporting Action. Subsequently, the button's properties are automatically updated as the Action's properties change.

This method uses three other methods to set and help track the Action's property values. It uses the configurePropertiesFromAction method to immediately change the button's properties. To track changes in the Action's property values, this method registers the PropertyChangeListener returned by createActionPropertyChangeListener. The default {@code PropertyChangeListener} invokes the {@code actionPropertyChanged} method when a property in the {@code Action} changes.

Parameters:
a - the Action for the AbstractButton, or null

setActionCommand

public void setActionCommand(String actionCommand)
Sets the action command for this button.

Parameters:
actionCommand - the action command for this button

setBorderPainted

public void setBorderPainted(boolean b)
Sets the borderPainted property. If true and the button has a border, the border is painted. The default value for the borderPainted property is true.

Parameters:
b - if true and border property is not null, the border is painted

setContentAreaFilled

public void setContentAreaFilled(boolean b)
Sets the contentAreaFilled property. If 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 false. Do not call setOpaque(false). The default value for the the contentAreaFilled property is true.

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, the content should be filled; if false the content area is not filled

setDisabledIcon

public void setDisabledIcon(Icon disabledIcon)
Sets the disabled icon for the button.

Parameters:
disabledIcon - the icon used as the disabled image

setDisabledSelectedIcon

public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
Sets the disabled selection icon for the button.

Parameters:
disabledSelectedIcon - the icon used as the disabled selection image

setDisplayedMnemonicIndex

public void setDisplayedMnemonicIndex(int index)
                               throws IllegalArgumentException
Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic. Not all look and feels may support this. A value of -1 indicates either there is no mnemonic, the mnemonic character is not contained in the string, or the developer does not wish the mnemonic to be displayed.

The value of this is updated as the properties relating to the 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 As', you would have to invoke setDisplayedMnemonicIndex(5) after invoking setMnemonic(KeyEvent.VK_A).

Parameters:
index - Index into the String to underline
Throws:
IllegalArgumentException - will be thrown if index is >= length of the text, or < -1

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

setFocusPainted

public void setFocusPainted(boolean b)
Sets the paintFocus property, which must be true for the focus state to be painted. The default value for the paintFocus property is true. Some look and feels might not paint focus state; they will ignore this property.

Parameters:
b - if true, the focus state should be painted

setHideActionText

public void setHideActionText(boolean hideActionText)
Sets the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.

Parameters:
hideActionText - true if the button's text property should not reflect that of the Action; the default is false

setHorizontalAlignment

public void setHorizontalAlignment(int alignment)
Sets 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.

Parameters:
alignment - the alignment value, one of the following values:
  • {@code SwingConstants.RIGHT}
  • {@code SwingConstants.LEFT}
  • {@code SwingConstants.CENTER}
  • {@code SwingConstants.LEADING}
  • {@code 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:
  • {@code SwingConstants.RIGHT}
  • {@code SwingConstants.LEFT}
  • {@code SwingConstants.CENTER}
  • {@code SwingConstants.LEADING}
  • {@code SwingConstants.TRAILING} (the default)

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

setIconTextGap

public void setIconTextGap(int iconTextGap)
If both the icon and text properties are set, this property defines the space between them.

The default value of this property is 4 pixels.

This is a JavaBeans bound property.

Parameters:
iconTextGap

setLabel

public void setLabel(String label)
Sets the label text.

Parameters:
label - a String containing the text

setLayout

public void setLayout(LayoutManager mgr)
Sets the layout manager for this container, refer to {@link java.awt.Container#setLayout(LayoutManager)} for a complete description of this method.

Overrides:
setLayout in class Container
Parameters:
mgr - the specified layout manager

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

setMnemonic

public void setMnemonic(char mnemonic)
This method is now obsolete, please use 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'.

Parameters:
mnemonic - a char specifying the mnemonic value

setMnemonic

public void setMnemonic(int mnemonic)
Sets the keyboard mnemonic on the current model. The mnemonic is the key which when combined with the look and feel's mouseless modifier (usually Alt) will activate this button if focus is contained somewhere within this button's ancestor window.

A mnemonic must correspond to a single key on the keyboard and should be specified using one of the VK_XXX keycodes defined in java.awt.event.KeyEvent. 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.

If the character defined by the mnemonic is found within the button's label string, the first occurrence of it will be underlined to indicate the mnemonic to the user.

Parameters:
mnemonic - the key code which represents the mnemonic

setModel

public void setModel(ButtonModel newModel)
Sets the model that this button represents.

Parameters:
newModel - the new ButtonModel

setMultiClickThreshhold

public void setMultiClickThreshhold(long threshhold)
Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. After the initial mouse press occurs (and action event generated) any subsequent mouse press events which occur on intervals less than the threshhold will be ignored and no corresponding action event generated. By default the threshhold is 0, which means that for each mouse press, an action event will be fired, no matter how quickly the mouse clicks occur. In buttons where this behavior is not desirable (for example, the "OK" button in a dialog), this threshhold should be set to an appropriate positive value.

Parameters:
threshhold - the amount of time required between mouse press events to generate corresponding action events

setPressedIcon

public void setPressedIcon(Icon pressedIcon)
Sets the pressed icon for the button.

Parameters:
pressedIcon - the icon used as the "pressed" image

setRolloverEnabled

public void setRolloverEnabled(boolean b)
Sets the rolloverEnabled property, which must be true for rollover effects to occur. The default value for the rolloverEnabled property is false. Some look and feels might not implement rollover effects; they will ignore this property.

Parameters:
b - if true, rollover effects should be painted

setRolloverIcon

public void setRolloverIcon(Icon rolloverIcon)
Sets the rollover icon for the button.

Parameters:
rolloverIcon - the icon used as the "rollover" image

setRolloverSelectedIcon

public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
Sets the rollover selected icon for the button.

Parameters:
rolloverSelectedIcon - the icon used as the "selected rollover" image

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

setSelectedIcon

public void setSelectedIcon(Icon selectedIcon)
Sets the selected icon for the button.

Parameters:
selectedIcon - the icon used as the "selected" image

setText

public void setText(String text)
Sets the button's text.

Parameters:
text - the string used to set the text

setUI

public void setUI(ButtonUI ui)
Sets the L&F object that renders this component.

Parameters:
ui - the ButtonUI L&F object

setVerticalAlignment

public void setVerticalAlignment(int alignment)
Sets the vertical alignment of the icon and text.

Parameters:
alignment - one of the following values:
  • {@code SwingConstants.CENTER} (the default)
  • {@code SwingConstants.TOP}
  • {@code SwingConstants.BOTTOM}

setVerticalTextPosition

public void setVerticalTextPosition(int textPosition)
Sets the vertical position of the text relative to the icon.

Parameters:
textPosition - one of the following values:
  • {@code SwingConstants.CENTER} (the default)
  • {@code SwingConstants.TOP}
  • {@code SwingConstants.BOTTOM}

updateUI

public void updateUI()
Resets the UI property to a value from the current look and feel. 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


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.