Class AbstractButton
- All Implemented Interfaces:
 - 
ImageObserver,ItemSelectable,MenuContainer,Serializable,SwingConstants 
- Direct Known Subclasses:
 - 
JButton,JMenuItem,JToggleButton 
@JavaBean(defaultProperty="UI") public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants
 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 JavaBeans has been added to the java.beans package. Please see XMLEncoder.
- Since:
 - 1.2
 
Nested Class Summary
| Modifier and Type | Class | Description | 
|---|---|---|
protected class  | 
AbstractButton.AccessibleAbstractButton | 
  This class implements accessibility support for the   AbstractButton class. | 
protected class  | 
AbstractButton.ButtonChangeListener | 
  Extends   ChangeListener to be serializable. | 
Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Field Summary
| Modifier and Type | Field | Description | 
|---|---|---|
protected ActionListener | 
actionListener | 
  The button model's   ActionListener. | 
static final 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 final String | 
CONTENT_AREA_FILLED_CHANGED_PROPERTY | 
  Identifies a change to having the button paint the content area.   | 
static final String | 
DISABLED_ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon used when the button has been disabled.   | 
static final String | 
DISABLED_SELECTED_ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon used when the button has been disabled and selected.   | 
static final String | 
FOCUS_PAINTED_CHANGED_PROPERTY | 
  Identifies a change to having the border highlighted when focused, or not.   | 
static final String | 
HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY | 
  Identifies a change in the button's horizontal alignment.   | 
static final String | 
HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY | 
  Identifies a change in the button's horizontal text position.   | 
static final String | 
ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon that represents the button.   | 
protected ItemListener | 
itemListener | 
  The button model's   ItemListener. | 
static final String | 
MARGIN_CHANGED_PROPERTY | 
  Identifies a change in the button's margins.   | 
static final 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 final String | 
MODEL_CHANGED_PROPERTY | 
  Identifies a change in the button model.   | 
static final String | 
PRESSED_ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon used when the button has been pressed.   | 
static final String | 
ROLLOVER_ENABLED_CHANGED_PROPERTY | 
  Identifies a change from rollover enabled to disabled or back to enabled.   | 
static final String | 
ROLLOVER_ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon used when the cursor is over the button.   | 
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.   | 
static final String | 
SELECTED_ICON_CHANGED_PROPERTY | 
  Identifies a change to the icon used when the button has been selected.   | 
static final String | 
TEXT_CHANGED_PROPERTY | 
  Identifies a change in the button's text.   | 
static final String | 
VERTICAL_ALIGNMENT_CHANGED_PROPERTY | 
  Identifies a change in the button's vertical alignment.   | 
static final String | 
VERTICAL_TEXT_POSITION_CHANGED_PROPERTY | 
  Identifies a change in the button's vertical text position.   | 
Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor Summary
| Modifier | Constructor | Description | 
|---|---|---|
protected  | 
  Constructor for subclasses to call.   | 
Method Summary
| Modifier and Type | Method | Description | 
|---|---|---|
protected void | 
actionPropertyChanged | 
  Updates the button's state in response to property changes in the associated action.   | 
void | 
addActionListener | 
  Adds an   ActionListener to the button. | 
void | 
addChangeListener | 
  Adds a   ChangeListener to the button. | 
protected void | 
addImpl | 
  Adds the specified component to this container at the specified index, refer to   Container.addImpl(Component, Object, int) for a complete description of this method. | 
void | 
addItemListener | 
  Adds an   ItemListener to the checkbox. | 
protected int | 
checkHorizontalKey | 
  Verify that the   key argument is a legal value for the horizontalAlignment and horizontalTextPosition properties. | 
protected int | 
checkVerticalKey | 
  Verify that the   key argument is a legal value for the vertical properties. | 
protected void | 
configurePropertiesFromAction | 
  Sets the properties on this button to match those in the specified   Action. | 
protected ActionListener | 
createActionListener() | 
  Returns   ActionListener that is added to model. | 
protected PropertyChangeListener | 
createActionPropertyChangeListener | 
  Creates and returns a   PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties. | 
protected ChangeListener | 
createChangeListener() | 
  Subclasses that want to handle   ChangeEvents differently can override this to return another ChangeListener implementation. | 
protected ItemListener | 
createItemListener() | 
  Returns   ItemListener that is added to model. | 
void | 
doClick() | 
  Programmatically perform a "click".   | 
void | 
doClick | 
  Programmatically perform a "click".   | 
protected void | 
fireActionPerformed | 
  Notifies all listeners that have registered interest for notification on this event type.   | 
protected void | 
fireItemStateChanged | 
  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.   | 
ActionListener[] | 
getActionListeners() | 
  Returns an array of all the   ActionListeners added to this AbstractButton with addActionListener(). | 
ChangeListener[] | 
getChangeListeners() | 
  Returns an array of all the   ChangeListeners added to this AbstractButton with addChangeListener(). | 
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 | 
getDisplayedMnemonicIndex() | 
  Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.   | 
boolean | 
getHideActionText() | 
  Returns the value of the   hideActionText property, which determines whether the button displays text from the Action. | 
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.   | 
int | 
getIconTextGap() | 
  Returns the amount of space between the text and the icon displayed in this button.   | 
ItemListener[] | 
getItemListeners() | 
  Returns an array of all the   ItemListeners added to this AbstractButton with addItemListener(). | 
String | 
getLabel() | 
  
Deprecated.    | 
Insets | 
getMargin() | 
  Returns the margin between the button's border and the label.   | 
int | 
getMnemonic() | 
  Returns the keyboard mnemonic from the current model.   | 
ButtonModel | 
getModel() | 
  Returns the model that this button represents.   | 
long | 
getMultiClickThreshhold() | 
  Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.   | 
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 | 
  This is overridden to return false if the current   Icon's Image is not equal to the passed in Image img. | 
protected void | 
init | 
  Initialization of the   AbstractButton. | 
boolean | 
isBorderPainted() | 
  Gets the   borderPainted property. | 
boolean | 
isContentAreaFilled() | 
  Gets the   contentAreaFilled property. | 
boolean | 
isFocusPainted() | 
  Gets the   paintFocus property. | 
boolean | 
isRolloverEnabled() | 
  Gets the   rolloverEnabled property. | 
boolean | 
isSelected() | 
  Returns the state of the button.   | 
protected void | 
paintBorder | 
  Paint the button's border if   BorderPainted property is true and the button has a border. | 
protected String | 
paramString() | 
  Returns a string representation of this   AbstractButton. | 
void | 
removeActionListener | 
  Removes an   ActionListener from the button. | 
void | 
removeChangeListener | 
  Removes a ChangeListener from the button.   | 
void | 
removeItemListener | 
  Removes an   ItemListener from the button. | 
void | 
removeNotify() | 
  Notifies this component that it no longer has a parent component.   | 
void | 
setAction | 
  Sets the   Action. | 
void | 
setActionCommand | 
  Sets the action command for this button.   | 
void | 
setBorderPainted | 
  Sets the   borderPainted property. | 
void | 
setContentAreaFilled | 
  Sets the   contentAreaFilled property. | 
void | 
setDisabledIcon | 
  Sets the disabled icon for the button.   | 
void | 
setDisabledSelectedIcon | 
  Sets the disabled selection icon for the button.   | 
void | 
setDisplayedMnemonicIndex | 
  Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.   | 
void | 
setEnabled | 
  Enables (or disables) the button.   | 
void | 
setFocusPainted | 
  Sets the   paintFocus property, which must be true for the focus state to be painted. | 
void | 
setHideActionText | 
  Sets the   hideActionText property, which determines whether the button displays text from the Action. | 
void | 
setHorizontalAlignment | 
  Sets the horizontal alignment of the icon and text.   | 
void | 
setHorizontalTextPosition | 
  Sets the horizontal position of the text relative to the icon.   | 
void | 
setIcon | 
  Sets the button's default icon.   | 
void | 
setIconTextGap | 
  If both the icon and text properties are set, this property defines the space between them.   | 
void | 
setLabel | 
  
Deprecated.   - Replaced by   setText(text)
 | 
void | 
setLayout | 
  Sets the layout manager for this container, refer to   Container.setLayout(LayoutManager) for a complete description of this method. | 
void | 
setMargin | 
  Sets space for margin between the button's border and the label.   | 
void | 
setMnemonic | 
  This method is now obsolete, please use   setMnemonic(int) to set the mnemonic for a button. | 
void | 
setMnemonic | 
  Sets the keyboard mnemonic on the current model.   | 
void | 
setModel | 
  Sets the model that this button represents.   | 
void | 
setMultiClickThreshhold | 
  Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.   | 
void | 
setPressedIcon | 
  Sets the pressed icon for the button.   | 
void | 
setRolloverEnabled | 
  Sets the   rolloverEnabled property, which must be true for rollover effects to occur. | 
void | 
setRolloverIcon | 
  Sets the rollover icon for the button.   | 
void | 
setRolloverSelectedIcon | 
  Sets the rollover selected icon for the button.   | 
void | 
setSelected | 
  Sets the state of the button.   | 
void | 
setSelectedIcon | 
  Sets the selected icon for the button.   | 
void | 
setText | 
  Sets the button's text.   | 
void | 
setUI | 
  Sets the L&F object that renders this component.   | 
void | 
setVerticalAlignment | 
  Sets the vertical alignment of the icon and text.   | 
void | 
setVerticalTextPosition | 
  Sets the vertical position of the text relative to the icon.   | 
void | 
updateUI() | 
  Resets the UI property to a value from the current look and feel.   | 
Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
Methods declared in class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Field Details
MODEL_CHANGED_PROPERTY
public static final String MODEL_CHANGED_PROPERTY
- See Also:
 
TEXT_CHANGED_PROPERTY
public static final String TEXT_CHANGED_PROPERTY
- See Also:
 
MNEMONIC_CHANGED_PROPERTY
public static final String MNEMONIC_CHANGED_PROPERTY
- See Also:
 
MARGIN_CHANGED_PROPERTY
public static final String MARGIN_CHANGED_PROPERTY
- See Also:
 
VERTICAL_ALIGNMENT_CHANGED_PROPERTY
public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
- See Also:
 
HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
- See Also:
 
VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
- See Also:
 
HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
- See Also:
 
BORDER_PAINTED_CHANGED_PROPERTY
public static final String BORDER_PAINTED_CHANGED_PROPERTY
- See Also:
 
FOCUS_PAINTED_CHANGED_PROPERTY
public static final String FOCUS_PAINTED_CHANGED_PROPERTY
- See Also:
 
ROLLOVER_ENABLED_CHANGED_PROPERTY
public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
- See Also:
 
CONTENT_AREA_FILLED_CHANGED_PROPERTY
public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
- See Also:
 
ICON_CHANGED_PROPERTY
public static final String ICON_CHANGED_PROPERTY
- See Also:
 
PRESSED_ICON_CHANGED_PROPERTY
public static final String PRESSED_ICON_CHANGED_PROPERTY
- See Also:
 
SELECTED_ICON_CHANGED_PROPERTY
public static final String SELECTED_ICON_CHANGED_PROPERTY
- See Also:
 
ROLLOVER_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_ICON_CHANGED_PROPERTY
- See Also:
 
ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
- See Also:
 
DISABLED_ICON_CHANGED_PROPERTY
public static final String DISABLED_ICON_CHANGED_PROPERTY
- See Also:
 
DISABLED_SELECTED_ICON_CHANGED_PROPERTY
public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
- See Also:
 
model
protected ButtonModel model
changeListener
protected ChangeListener changeListener
changeListener.actionListener
protected ActionListener actionListener
ActionListener.itemListener
protected ItemListener itemListener
ItemListener.changeEvent
protected transient ChangeEvent changeEvent
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 Details
AbstractButton
protected AbstractButton()
Method Details
setHideActionText
@BeanProperty(expert=true, description="Whether the text of the button should come from the <code>Action</code>.") public void setHideActionText(boolean hideActionText)
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-trueif the button'stextproperty should not reflect that of theAction; the default isfalse - Since:
 - 1.6
 - See Also:
 
getHideActionText
public boolean getHideActionText()
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:
 - 
trueif the button'stextproperty should not reflect that of theAction; the default isfalse - Since:
 - 1.6
 
getText
public String getText()
- Returns:
 - the buttons text
 - See Also:
 
setText
@BeanProperty(preferred=true, visualUpdate=true, description="The button\'s text.") public void setText(String text)
- Parameters:
 - 
text- the string used to set the text - See Also:
 
isSelected
public boolean isSelected()
- Returns:
 - true if the toggle button is selected, otherwise false
 
setSelected
public void setSelected(boolean b)
actionEvent. Call doClick to perform a programmatic action change.- Parameters:
 - 
b- true if the button is selected, otherwise false 
doClick
public void doClick()
doClick
public void doClick(int pressTime)
pressTime milliseconds.- Parameters:
 - 
pressTime- the time to "hold down" the button, in milliseconds 
setMargin
@BeanProperty(visualUpdate=true, description="The space between the button\'s border and the label.") public void setMargin(Insets m)
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:
 - an 
Insetsobject specifying the margin between the botton's border and the label - See Also:
 
getIcon
public Icon getIcon()
- Returns:
 - the default 
Icon - See Also:
 
setIcon
@BeanProperty(visualUpdate=true, description="The button\'s default icon") public void setIcon(Icon defaultIcon)
- Parameters:
 - 
defaultIcon- the icon used as the default image - See Also:
 
getPressedIcon
public Icon getPressedIcon()
- Returns:
 - the 
pressedIconproperty - See Also:
 
setPressedIcon
@BeanProperty(visualUpdate=true, description="The pressed icon for the button.") public void setPressedIcon(Icon pressedIcon)
- Parameters:
 - 
pressedIcon- the icon used as the "pressed" image - See Also:
 
getSelectedIcon
public Icon getSelectedIcon()
- Returns:
 - the 
selectedIconproperty - See Also:
 
setSelectedIcon
@BeanProperty(visualUpdate=true, description="The selected icon for the button.") public void setSelectedIcon(Icon selectedIcon)
- Parameters:
 - 
selectedIcon- the icon used as the "selected" image - See Also:
 
getRolloverIcon
public Icon getRolloverIcon()
- Returns:
 - the 
rolloverIconproperty - See Also:
 
setRolloverIcon
@BeanProperty(visualUpdate=true, description="The rollover icon for the button.") public void setRolloverIcon(Icon rolloverIcon)
- Parameters:
 - 
rolloverIcon- the icon used as the "rollover" image - See Also:
 
getRolloverSelectedIcon
public Icon getRolloverSelectedIcon()
- Returns:
 - the 
rolloverSelectedIconproperty - See Also:
 
setRolloverSelectedIcon
@BeanProperty(visualUpdate=true, description="The rollover selected icon for the button.") public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
- Parameters:
 - 
rolloverSelectedIcon- the icon used as the "selected rollover" image - See Also:
 
getDisabledIcon
public Icon getDisabledIcon()
Some look and feels might not render the disabled Icon, in which case they will ignore this.
- Returns:
 - the 
disabledIconproperty - See Also:
 
setDisabledIcon
@BeanProperty(visualUpdate=true, description="The disabled icon for the button.") public void setDisabledIcon(Icon disabledIcon)
- Parameters:
 - 
disabledIcon- the icon used as the disabled image - See Also:
 
getDisabledSelectedIcon
public Icon getDisabledSelectedIcon()
getDisabledIcon() otherwise. Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
- Returns:
 - the 
disabledSelectedIconproperty - See Also:
 
setDisabledSelectedIcon
@BeanProperty(visualUpdate=true, description="The disabled selection icon for the button.") public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
- Parameters:
 - 
disabledSelectedIcon- the icon used as the disabled selection image - See Also:
 
getVerticalAlignment
public int getVerticalAlignment()
- Returns:
 - the 
verticalAlignmentproperty, one of the following values:- 
SwingConstants.CENTER(the default) - 
SwingConstants.TOP - 
SwingConstants.BOTTOM 
 - 
 
setVerticalAlignment
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical alignment of the icon and text.") public void setVerticalAlignment(int alignment) - Parameters:
 - 
alignment- one of the following values:- 
SwingConstants.CENTER(the default) - 
SwingConstants.TOP - 
SwingConstants.BOTTOM 
 - 
 - Throws:
 - 
IllegalArgumentException- if the alignment is not one of the legal values listed above 
getHorizontalAlignment
public int getHorizontalAlignment()
AbstractButton's default is SwingConstants.CENTER, but subclasses such as JCheckBox may use a different default.- Returns:
 - the 
horizontalAlignmentproperty, one of the following values:- 
SwingConstants.RIGHT - 
SwingConstants.LEFT - 
SwingConstants.CENTER - 
SwingConstants.LEADING - 
SwingConstants.TRAILING 
 - 
 
setHorizontalAlignment
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The horizontal alignment of the icon and text.") public void setHorizontalAlignment(int alignment) AbstractButton's default is SwingConstants.CENTER, but subclasses such as JCheckBox may use a different default.- Parameters:
 - 
alignment- the alignment value, one of the following values:- 
SwingConstants.RIGHT - 
SwingConstants.LEFT - 
SwingConstants.CENTER - 
SwingConstants.LEADING - 
SwingConstants.TRAILING 
 - 
 - Throws:
 - 
IllegalArgumentException- if the alignment is not one of the valid values 
getVerticalTextPosition
public int getVerticalTextPosition()
- Returns:
 - the 
verticalTextPositionproperty, one of the following values:- 
SwingConstants.CENTER(the default) - 
SwingConstants.TOP - 
SwingConstants.BOTTOM 
 - 
 
setVerticalTextPosition
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical position of the text relative to the icon.") public void setVerticalTextPosition(int textPosition) - Parameters:
 - 
textPosition- one of the following values:- 
SwingConstants.CENTER(the default) - 
SwingConstants.TOP - 
SwingConstants.BOTTOM 
 - 
 
getHorizontalTextPosition
public int getHorizontalTextPosition()
- Returns:
 - the 
horizontalTextPositionproperty, one of the following values:- 
SwingConstants.RIGHT - 
SwingConstants.LEFT - 
SwingConstants.CENTER - 
SwingConstants.LEADING - 
SwingConstants.TRAILING(the default) 
 - 
 
setHorizontalTextPosition
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The horizontal position of the text relative to the icon.") public void setHorizontalTextPosition(int textPosition) - Parameters:
 - 
textPosition- one of the following values:- 
SwingConstants.RIGHT - 
SwingConstants.LEFT - 
SwingConstants.CENTER - 
SwingConstants.LEADING - 
SwingConstants.TRAILING(the default) 
 - 
 - Throws:
 - 
IllegalArgumentException- iftextPositionis not one of the legal values listed above 
getIconTextGap
public int getIconTextGap()
- Returns:
 - an int equal to the number of pixels between the text and the icon.
 - Since:
 - 1.4
 - See Also:
 
setIconTextGap
@BeanProperty(visualUpdate=true, description="If both the icon and text properties are set, this property defines the space between them.") public void setIconTextGap(int iconTextGap)
The default value of this property is 4 pixels.
This is a JavaBeans bound property.
- Parameters:
 - 
iconTextGap- the space between icon and text if these properties are set. - Since:
 - 1.4
 - See Also:
 
checkHorizontalKey
protected int checkHorizontalKey(int key, String exception)
key argument is a legal value for the horizontalAlignment and horizontalTextPosition properties. Valid values are: - 
SwingConstants.RIGHT - 
SwingConstants.LEFT - 
SwingConstants.CENTER - 
SwingConstants.LEADING - 
SwingConstants.TRAILING 
- Parameters:
 - 
key- the property value to check - 
exception- the message to use in theIllegalArgumentExceptionthat is thrown for an invalid value - Returns:
 - the 
keyargument - Throws:
 - 
IllegalArgumentException- if key is not one of the legal values listed above - See Also:
 
checkVerticalKey
protected int checkVerticalKey(int key, String exception)
key argument is a legal value for the vertical properties. Valid values are: - 
SwingConstants.CENTER - 
SwingConstants.TOP - 
SwingConstants.BOTTOM 
- Parameters:
 - 
key- the property value to check - 
exception- the message to use in theIllegalArgumentExceptionthat is thrown for an invalid value - Returns:
 - the 
keyargument - Throws:
 - 
IllegalArgumentException- if key is not one of the legal values listed above 
removeNotify
public void removeNotify()
KeyboardActions set up in the chain of parent components are removed. This method is called by the toolkit internally and should not be called directly by programs.- Overrides:
 - 
removeNotifyin classJComponent - Since:
 - 1.6
 - See Also:
 
setActionCommand
public void setActionCommand(String actionCommand)
- Parameters:
 - 
actionCommand- the action command for this button 
getActionCommand
public String getActionCommand()
- Returns:
 - the action command for this button
 
setAction
@BeanProperty(visualUpdate=true, description="the Action instance connected with this ActionEvent source") public void setAction(Action a)
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 PropertyChangeListener invokes the actionPropertyChanged method when a property in the Action changes.
- Parameters:
 - 
a- theActionfor theAbstractButton, ornull - Since:
 - 1.3
 - See Also:
 
getAction
public Action getAction()
Action for this ActionEvent source, or null if no Action is set.- Returns:
 - the 
Actionfor thisActionEventsource, ornull - Since:
 - 1.3
 - See Also:
 
configurePropertiesFromAction
protected void configurePropertiesFromAction(Action a)
Action. Refer to  Swing Components Supporting Action for more details as to which properties this sets.- Parameters:
 - 
a- theActionfrom which to get the properties, ornull - Since:
 - 1.3
 - See Also:
 
actionPropertyChanged
protected void actionPropertyChanged(Action action, String propertyName)
PropertyChangeListener returned from createActionPropertyChangeListener. Subclasses do not normally need to invoke this. Subclasses that support additional Action properties should override this and configurePropertiesFromAction.  Refer to the table at  Swing Components Supporting Action for a list of the properties this method sets.
- Parameters:
 - 
action- theActionassociated with this button - 
propertyName- the name of the property that changed - Since:
 - 1.6
 - See Also:
 
createActionPropertyChangeListener
protected PropertyChangeListener createActionPropertyChangeListener(Action 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 - Returns:
 - the 
PropertyChangeListener - Since:
 - 1.3
 - See Also:
 
isBorderPainted
public boolean isBorderPainted()
borderPainted property.- Returns:
 - the value of the 
borderPaintedproperty - See Also:
 
setBorderPainted
@BeanProperty(visualUpdate=true, description="Whether the border should be painted.") public void setBorderPainted(boolean b)
borderPainted property. If true and the button has a border, the border is painted. The default value for the borderPainted property is true.  Some look and feels might not support the borderPainted property, in which case they ignore this.
- Parameters:
 - 
b- if true and border property is notnull, the border is painted - See Also:
 
paintBorder
protected void paintBorder(Graphics g)
BorderPainted property is true and the button has a border.- Overrides:
 - 
paintBorderin classJComponent - Parameters:
 - 
g- theGraphicscontext in which to paint - See Also:
 
isFocusPainted
public boolean isFocusPainted()
paintFocus property.- Returns:
 - the 
paintFocusproperty - See Also:
 
setFocusPainted
@BeanProperty(visualUpdate=true, description="Whether focus should be painted") public void setFocusPainted(boolean b)
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- iftrue, the focus state should be painted - See Also:
 
isContentAreaFilled
public boolean isContentAreaFilled()
contentAreaFilled property.- Returns:
 - the 
contentAreaFilledproperty - See Also:
 
setContentAreaFilled
@BeanProperty(visualUpdate=true, description="Whether the button should paint the content area or leave it transparent.") public void setContentAreaFilled(boolean b)
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 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 - See Also:
 
isRolloverEnabled
public boolean isRolloverEnabled()
rolloverEnabled property.- Returns:
 - the value of the 
rolloverEnabledproperty - See Also:
 
setRolloverEnabled
@BeanProperty(visualUpdate=true, description="Whether rollover effects should be enabled.") public void setRolloverEnabled(boolean b)
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- iftrue, rollover effects should be painted - See Also:
 
getMnemonic
public int getMnemonic()
- Returns:
 - the keyboard mnemonic from the model
 
setMnemonic
@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") public void setMnemonic(int mnemonic)
 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. These codes and the wider array of codes for international keyboards may be obtained through java.awt.event.KeyEvent.getExtendedKeyCodeForChar. Mnemonics are case-insensitive, therefore a key event with the corresponding keycode would cause the button to be activated whether or not the Shift modifier was pressed. 
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 - See Also:
 
setMnemonic
@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") public void setMnemonic(char mnemonic)
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 - See Also:
 
setDisplayedMnemonicIndex
@BeanProperty(visualUpdate=true, description="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException
 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 ifindexis >= length of the text, or < -1 - Since:
 - 1.4
 - See Also:
 
getDisplayedMnemonicIndex
public int getDisplayedMnemonicIndex()
- Returns:
 - index representing mnemonic character
 - Since:
 - 1.4
 - See Also:
 
setMultiClickThreshhold
public void setMultiClickThreshhold(long threshhold)
- Parameters:
 - 
threshhold- the amount of time required between mouse press events to generate corresponding action events - Throws:
 - 
IllegalArgumentException- if threshhold < 0 - Since:
 - 1.4
 - See Also:
 
getMultiClickThreshhold
public long getMultiClickThreshhold()
- Returns:
 - the amount of time required between mouse press events to generate corresponding action events
 - Since:
 - 1.4
 - See Also:
 
getModel
public ButtonModel getModel()
- Returns:
 - the 
modelproperty - See Also:
 
setModel
@BeanProperty(description="Model that the Button uses.") public void setModel(ButtonModel newModel)
- Parameters:
 - 
newModel- the newButtonModel - See Also:
 
getUI
public ButtonUI getUI()
- Overrides:
 - 
getUIin classJComponent - Returns:
 - the ButtonUI object
 - See Also:
 
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the LookAndFeel.") public void setUI(ButtonUI ui)
- Parameters:
 - 
ui- theButtonUIL&F object - See Also:
 
updateUI
public void updateUI()
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:
 - 
updateUIin classJComponent - See Also:
 
addImpl
protected void addImpl(Component comp, Object constraints, int index)
Container.addImpl(Component, Object, int) for a complete description of this method.- Overrides:
 - 
addImplin classContainer - 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-1means append to the end - Throws:
 - 
IllegalArgumentException- ifindexis invalid - 
IllegalArgumentException- if adding the container's parent to itself - 
IllegalArgumentException- if adding a window to a container - Since:
 - 1.5
 - See Also:
 
setLayout
public void setLayout(LayoutManager mgr)
Container.setLayout(LayoutManager) for a complete description of this method.addChangeListener
public void addChangeListener(ChangeListener l)
ChangeListener to the button.- Parameters:
 - 
l- the listener to be added 
removeChangeListener
public void removeChangeListener(ChangeListener l)
- Parameters:
 - 
l- the listener to be removed 
getChangeListeners
@BeanProperty(bound=false) public ChangeListener[] getChangeListeners()
ChangeListeners added to this AbstractButton with addChangeListener().- Returns:
 - all of the 
ChangeListeners added or an empty array if no listeners have been added - Since:
 - 1.4
 
fireStateChanged
protected void fireStateChanged()
- See Also:
 
addActionListener
public void addActionListener(ActionListener l)
ActionListener to the button.- Parameters:
 - 
l- theActionListenerto be added 
removeActionListener
public void removeActionListener(ActionListener l)
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 
getActionListeners
@BeanProperty(bound=false) public ActionListener[] getActionListeners()
ActionListeners added to this AbstractButton with addActionListener().- Returns:
 - all of the 
ActionListeners added or an empty array if no listeners have been added - Since:
 - 1.4
 
createChangeListener
protected ChangeListener createChangeListener()
ChangeEvents differently can override this to return another ChangeListener implementation.- Returns:
 - the new 
ChangeListener 
fireActionPerformed
protected void fireActionPerformed(ActionEvent event)
event parameter.- Parameters:
 - 
event- theActionEventobject - See Also:
 
fireItemStateChanged
protected void fireItemStateChanged(ItemEvent event)
event parameter.- Parameters:
 - 
event- theItemEventobject - See Also:
 
createActionListener
protected ActionListener createActionListener()
ActionListener that is added to model.- Returns:
 - the 
ActionListener 
createItemListener
protected ItemListener createItemListener()
ItemListener that is added to model.- Returns:
 - the 
ItemListener 
setEnabled
public void setEnabled(boolean b)
- Overrides:
 - 
setEnabledin classJComponent - Parameters:
 - 
b- true to enable the button, otherwise false - See Also:
 
getLabel
@Deprecated public String getLabel()
getText
- Returns:
 - a 
Stringcontaining the label 
setLabel
@Deprecated @BeanProperty(description="Replace by setText(text)") public void setLabel(String label)
setText(text)
- Parameters:
 - 
label- aStringcontaining the text 
addItemListener
public void addItemListener(ItemListener l)
ItemListener to the checkbox.- Specified by:
 - 
addItemListenerin interfaceItemSelectable - Parameters:
 - 
l- theItemListenerto be added - See Also:
 
removeItemListener
public void removeItemListener(ItemListener l)
ItemListener from the button.- Specified by:
 - 
removeItemListenerin interfaceItemSelectable - Parameters:
 - 
l- theItemListenerto be removed - See Also:
 
getItemListeners
@BeanProperty(bound=false) public ItemListener[] getItemListeners()
ItemListeners added to this AbstractButton with addItemListener().- Returns:
 - all of the 
ItemListeners added or an empty array if no listeners have been added - Since:
 - 1.4
 
getSelectedObjects
@BeanProperty(bound=false) public Object[] getSelectedObjects()
null if the button is not selected.- Specified by:
 - 
getSelectedObjectsin interfaceItemSelectable - 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)
AbstractButton.- Parameters:
 - 
text- the text of the button - 
icon- the Icon image to display on the button 
imageUpdate
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
Icon's Image is not equal to the passed in Image img.- Specified by:
 - 
imageUpdatein interfaceImageObserver - Overrides:
 - 
imageUpdatein classComponent - Parameters:
 - 
img- theImageto 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 - Returns:
 - 
falseif the infoflags indicate that the image is completely loaded;trueotherwise. - See Also:
 
paramString
protected String paramString()
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:
 - 
paramStringin classJComponent - Returns:
 - a string representation of this 
AbstractButton 
    © 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/AbstractButton.html
  
getText