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.
| Modifier and Type | Class and Description | 
|---|---|
| protected class  | AbstractButton.AccessibleAbstractButtonThis class implements accessibility support for the
  AbstractButtonclass. | 
| protected class  | AbstractButton.ButtonChangeListenerExtends  ChangeListenerto be serializable. | 
JComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description | 
|---|---|
| protected ActionListener | actionListenerThe button model's  ActionListener. | 
| static String | BORDER_PAINTED_CHANGED_PROPERTYIdentifies a change to having the border drawn,
 or having it not drawn. | 
| protected ChangeEvent | changeEventOnly one  ChangeEventis needed per button
 instance since the
 event's only state is the source property. | 
| protected ChangeListener | changeListenerThe button model's  changeListener. | 
| static String | CONTENT_AREA_FILLED_CHANGED_PROPERTYIdentifies a change to having the button paint the content area. | 
| static String | DISABLED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has
 been disabled. | 
| static String | DISABLED_SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been
 disabled and selected. | 
| static String | FOCUS_PAINTED_CHANGED_PROPERTYIdentifies a change to having the border highlighted when focused,
 or not. | 
| static String | HORIZONTAL_ALIGNMENT_CHANGED_PROPERTYIdentifies a change in the button's horizontal alignment. | 
| static String | HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTYIdentifies a change in the button's horizontal text position. | 
| static String | ICON_CHANGED_PROPERTYIdentifies a change to the icon that represents the button. | 
| protected ItemListener | itemListenerThe button model's  ItemListener. | 
| static String | MARGIN_CHANGED_PROPERTYIdentifies a change in the button's margins. | 
| static String | MNEMONIC_CHANGED_PROPERTYIdentifies a change to the button's mnemonic. | 
| protected ButtonModel | modelThe data model that determines the button's state. | 
| static String | MODEL_CHANGED_PROPERTYIdentifies a change in the button model. | 
| static String | PRESSED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been
 pressed. | 
| static String | ROLLOVER_ENABLED_CHANGED_PROPERTYIdentifies a change from rollover enabled to disabled or back
 to enabled. | 
| static String | ROLLOVER_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the cursor is over
 the button. | 
| static String | ROLLOVER_SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the cursor is
 over the button and it has been selected. | 
| static String | SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has
 been selected. | 
| static String | TEXT_CHANGED_PROPERTYIdentifies a change in the button's text. | 
| static String | VERTICAL_ALIGNMENT_CHANGED_PROPERTYIdentifies a change in the button's vertical alignment. | 
| static String | VERTICAL_TEXT_POSITION_CHANGED_PROPERTYIdentifies a change in the button's vertical text position. | 
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WESTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description | 
|---|
| AbstractButton() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | actionPropertyChanged(Action action,
                     String propertyName)Updates the button's state in response to property changes in the
 associated action. | 
| void | addActionListener(ActionListener l)Adds an  ActionListenerto the button. | 
| void | addChangeListener(ChangeListener l)Adds a  ChangeListenerto the button. | 
| protected void | addImpl(Component comp,
       Object constraints,
       int index)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(ItemListener l)Adds an  ItemListenerto thecheckbox. | 
| protected int | checkHorizontalKey(int key,
                  String exception)Verify that the  keyargument is a legal value for thehorizontalAlignmentandhorizontalTextPositionproperties. | 
| protected int | checkVerticalKey(int key,
                String exception)Verify that the  keyargument is a legal value for the
 vertical properties. | 
| protected void | configurePropertiesFromAction(Action a)Sets the properties on this button to match those in the specified
  Action. | 
| protected ActionListener | createActionListener() | 
| protected PropertyChangeListener | createActionPropertyChangeListener(Action a)Creates and returns a  PropertyChangeListenerthat is
 responsible for listening for changes from the specifiedActionand updating the appropriate properties. | 
| protected ChangeListener | createChangeListener()Subclasses that want to handle  ChangeEventsdifferently
 can override this to return anotherChangeListenerimplementation. | 
| protected ItemListener | createItemListener() | 
| void | doClick()Programmatically perform a "click". | 
| void | doClick(int pressTime)Programmatically perform a "click". | 
| protected void | fireActionPerformed(ActionEvent event)Notifies all listeners that have registered interest for
 notification on this event type. | 
| protected void | fireItemStateChanged(ItemEvent event)Notifies all listeners that have registered interest for
 notification on this event type. | 
| protected void | fireStateChanged()Notifies all listeners that have registered interest for
 notification on this event type. | 
| Action | getAction()Returns the currently set  Actionfor thisActionEventsource, ornullif noActionis 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  hideActionTextproperty, which
 determines whether the button displays text from theAction. | 
| 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. 
 - Replaced by  getText | 
| Insets | getMargin()Returns the margin between the button's border and
 the label. | 
| int | getMnemonic()Returns the keyboard mnemonic from the the current model. | 
| ButtonModel | getModel()Returns the model that this button represents. | 
| 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
  nullif the button is not selected. | 
| String | getText()Returns the button's text. | 
| ButtonUI | getUI()Returns the L&F object that renders this component. | 
| int | getVerticalAlignment()Returns the vertical alignment of the text and icon. | 
| int | getVerticalTextPosition()Returns the vertical position of the text relative to the icon. | 
| boolean | imageUpdate(Image img,
           int infoflags,
           int x,
           int y,
           int w,
           int h)This is overridden to return false if the current  Icon'sImageis not equal to the
 passed inImageimg. | 
| protected void | init(String text,
    Icon icon) | 
| boolean | isBorderPainted()Gets the  borderPaintedproperty. | 
| boolean | isContentAreaFilled()Gets the  contentAreaFilledproperty. | 
| boolean | isFocusPainted()Gets the  paintFocusproperty. | 
| boolean | isRolloverEnabled()Gets the  rolloverEnabledproperty. | 
| boolean | isSelected()Returns the state of the button. | 
| protected void | paintBorder(Graphics g)Paint the button's border if  BorderPaintedproperty is true and the button has a border. | 
| protected String | paramString()Returns a string representation of this  AbstractButton. | 
| void | removeActionListener(ActionListener l)Removes an  ActionListenerfrom the button. | 
| void | removeChangeListener(ChangeListener l)Removes a ChangeListener from the button. | 
| void | removeItemListener(ItemListener l)Removes an  ItemListenerfrom the button. | 
| void | removeNotify()Notifies this component that it no longer has a parent component. | 
| void | setAction(Action a)Sets the  Action. | 
| void | setActionCommand(String actionCommand)Sets the action command for this button. | 
| void | setBorderPainted(boolean b)Sets the  borderPaintedproperty. | 
| void | setContentAreaFilled(boolean b)Sets the  contentAreaFilledproperty. | 
| void | setDisabledIcon(Icon disabledIcon)Sets the disabled icon for the button. | 
| void | setDisabledSelectedIcon(Icon disabledSelectedIcon)Sets the disabled selection icon for the button. | 
| void | setDisplayedMnemonicIndex(int index)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  paintFocusproperty, which must
 betruefor the focus state to be painted. | 
| void | setHideActionText(boolean hideActionText)Sets the  hideActionTextproperty, which determines
 whether the button displays text from theAction. | 
| 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 | setLabel(String label)Deprecated. 
 - Replaced by  setText(text) | 
| void | setLayout(LayoutManager mgr)Sets the layout manager for this container, refer to
  Container.setLayout(LayoutManager)for a complete description of this method. | 
| void | setMargin(Insets m)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 | setModel(ButtonModel newModel)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  rolloverEnabledproperty, which
 must betruefor 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 | setText(String text)Sets the button's text. | 
| void | setUI(ButtonUI ui)Sets the L&F object that renders this component. | 
| void | setVerticalAlignment(int alignment)Sets the vertical alignment of the icon and text. | 
| void | setVerticalTextPosition(int textPosition)Sets the vertical position of the text relative to the icon. | 
| void | updateUI()Resets the UI property to a value from the current look
 and feel. | 
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, updateadd, 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, validateTreeaction, 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static final String MODEL_CHANGED_PROPERTY
public static final String TEXT_CHANGED_PROPERTY
public static final String MNEMONIC_CHANGED_PROPERTY
public static final String MARGIN_CHANGED_PROPERTY
public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
public static final String BORDER_PAINTED_CHANGED_PROPERTY
public static final String FOCUS_PAINTED_CHANGED_PROPERTY
public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY
public static final String CONTENT_AREA_FILLED_CHANGED_PROPERTY
public static final String ICON_CHANGED_PROPERTY
public static final String PRESSED_ICON_CHANGED_PROPERTY
public static final String SELECTED_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_ICON_CHANGED_PROPERTY
public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
public static final String DISABLED_ICON_CHANGED_PROPERTY
public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
protected ButtonModel model
protected ChangeListener changeListener
changeListener.protected ActionListener actionListener
ActionListener.protected ItemListener itemListener
ItemListener.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".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.hideActionText - true if the button's
                       text property should not reflect
                       that of the Action; the default is
                       falseActionpublic 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.true if the button's text
         property should not reflect that of the
         Action; the default is falsepublic String getText()
setText(java.lang.String)public void setText(String text)
text - the string used to set the textgetText()public boolean isSelected()
public void setSelected(boolean b)
actionEvent.
 Call doClick to perform a programmatic action change.b - true if the button is selected, otherwise falsepublic void doClick()
public void doClick(int pressTime)
pressTime
  milliseconds.pressTime - the time to "hold down" the button, in millisecondspublic 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).m - the space between the border and the labelpublic Insets getMargin()
Insets object specifying the margin
          between the botton's border and the labelsetMargin(java.awt.Insets)public Icon getIcon()
IconsetIcon(javax.swing.Icon)public void setIcon(Icon defaultIcon)
defaultIcon - the icon used as the default imagegetIcon(), 
setPressedIcon(javax.swing.Icon)public Icon getPressedIcon()
pressedIcon propertysetPressedIcon(javax.swing.Icon)public void setPressedIcon(Icon pressedIcon)
pressedIcon - the icon used as the "pressed" imagegetPressedIcon()public Icon getSelectedIcon()
selectedIcon propertysetSelectedIcon(javax.swing.Icon)public void setSelectedIcon(Icon selectedIcon)
selectedIcon - the icon used as the "selected" imagegetSelectedIcon()public Icon getRolloverIcon()
rolloverIcon propertysetRolloverIcon(javax.swing.Icon)public void setRolloverIcon(Icon rolloverIcon)
rolloverIcon - the icon used as the "rollover" imagegetRolloverIcon()public Icon getRolloverSelectedIcon()
rolloverSelectedIcon propertysetRolloverSelectedIcon(javax.swing.Icon)public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
rolloverSelectedIcon - the icon used as the
          "selected rollover" imagegetRolloverSelectedIcon()public Icon getDisabledIcon()
Some look and feels might not render the disabled Icon, in which case they will ignore this.
disabledIcon propertygetPressedIcon(), 
setDisabledIcon(javax.swing.Icon), 
LookAndFeel.getDisabledIcon(javax.swing.JComponent, javax.swing.Icon)public void setDisabledIcon(Icon disabledIcon)
disabledIcon - the icon used as the disabled imagegetDisabledIcon()public Icon getDisabledSelectedIcon()
getDisabledIcon() otherwise.
 Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
disabledSelectedIcon propertygetDisabledIcon(), 
setDisabledSelectedIcon(javax.swing.Icon), 
LookAndFeel.getDisabledSelectedIcon(javax.swing.JComponent, javax.swing.Icon)public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
disabledSelectedIcon - the icon used as the disabled
          selection imagegetDisabledSelectedIcon()public int getVerticalAlignment()
verticalAlignment property, one of the
          following values:
 SwingConstants.CENTER (the default)
 SwingConstants.TOP
 SwingConstants.BOTTOM
 public void setVerticalAlignment(int alignment)
alignment - one of the following values:
 SwingConstants.CENTER (the default)
 SwingConstants.TOP
 SwingConstants.BOTTOM
 IllegalArgumentException - if the alignment is not one of the legal
         values listed abovepublic int getHorizontalAlignment()
AbstractButton's default is SwingConstants.CENTER,
 but subclasses such as JCheckBox may use a different default.horizontalAlignment property,
             one of the following values:
 SwingConstants.RIGHT
   SwingConstants.LEFT
   SwingConstants.CENTER
   SwingConstants.LEADING
   SwingConstants.TRAILING
 public void setHorizontalAlignment(int alignment)
AbstractButton's default is SwingConstants.CENTER,
 but subclasses such as JCheckBox may use a different default.alignment - the alignment value, one of the following values:
 SwingConstants.RIGHT
   SwingConstants.LEFT
   SwingConstants.CENTER
   SwingConstants.LEADING
   SwingConstants.TRAILING
 IllegalArgumentException - if the alignment is not one of the
         valid valuespublic int getVerticalTextPosition()
verticalTextPosition property,
          one of the following values:
 SwingConstants.CENTER (the default)
 SwingConstants.TOP
 SwingConstants.BOTTOM
 public void setVerticalTextPosition(int textPosition)
textPosition - one of the following values:
 SwingConstants.CENTER (the default)
 SwingConstants.TOP
 SwingConstants.BOTTOM
 public int getHorizontalTextPosition()
horizontalTextPosition property,
          one of the following values:
 SwingConstants.RIGHT
 SwingConstants.LEFT
 SwingConstants.CENTER
 SwingConstants.LEADING
 SwingConstants.TRAILING (the default)
 public void setHorizontalTextPosition(int textPosition)
textPosition - one of the following values:
 SwingConstants.RIGHT
 SwingConstants.LEFT
 SwingConstants.CENTER
 SwingConstants.LEADING
 SwingConstants.TRAILING (the default)
 IllegalArgumentException - if textPosition
          is not one of the legal values listed abovepublic int getIconTextGap()
setIconTextGap(int)public void setIconTextGap(int iconTextGap)
The default value of this property is 4 pixels.
This is a JavaBeans bound property.
getIconTextGap()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
 key - the property value to checkexception - the message to use in the
        IllegalArgumentException that is thrown for an invalid
        valuekey argumentIllegalArgumentException - if key is not one of the legal
            values listed abovesetHorizontalTextPosition(int), 
setHorizontalAlignment(int)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
 key - the property value to checkexception - the message to use in the
        IllegalArgumentException that is thrown for an invalid
        valuekey argumentIllegalArgumentException - if key is not one of the legal
            values listed abovepublic void removeNotify()
KeyboardActions
 set up in the the chain of parent components are removed.
 This method is called by the toolkit internally and should
 not be called directly by programs.removeNotify in class JComponentJComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)public void setActionCommand(String actionCommand)
actionCommand - the action command for this buttonpublic String getActionCommand()
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.
a - the Action for the AbstractButton,
          or nullAction, 
getAction(), 
configurePropertiesFromAction(javax.swing.Action), 
createActionPropertyChangeListener(javax.swing.Action), 
actionPropertyChanged(javax.swing.Action, java.lang.String)public Action getAction()
Action for this
 ActionEvent source, or null
 if no Action is set.Action for this ActionEvent
          source, or nullAction, 
setAction(javax.swing.Action)protected void configurePropertiesFromAction(Action a)
Action.  Refer to 
 Swing Components Supporting Action for more
 details as to which properties this sets.a - the Action from which to get the properties,
          or nullAction, 
setAction(javax.swing.Action)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.
action - the Action associated with this buttonpropertyName - the name of the property that changedAction, 
configurePropertiesFromAction(javax.swing.Action)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.
a - the button's actionAction, 
setAction(javax.swing.Action)public boolean isBorderPainted()
borderPainted property.borderPainted propertysetBorderPainted(boolean)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.
b - if true and border property is not null,
          the border is paintedisBorderPainted()protected void paintBorder(Graphics g)
BorderPainted
 property is true and the button has a border.paintBorder in class JComponentg - the Graphics context in which to paintJComponent.paint(java.awt.Graphics), 
JComponent.setBorder(javax.swing.border.Border)public boolean isFocusPainted()
paintFocus property.paintFocus propertysetFocusPainted(boolean)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.b - if true, the focus state should be paintedisFocusPainted()public boolean isContentAreaFilled()
contentAreaFilled property.contentAreaFilled propertysetContentAreaFilled(boolean)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 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.
b - if true, the content should be filled; if false
          the content area is not filledisContentAreaFilled(), 
JComponent.setOpaque(boolean)public boolean isRolloverEnabled()
rolloverEnabled property.rolloverEnabled propertysetRolloverEnabled(boolean)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.b - if true, rollover effects should be paintedisRolloverEnabled()public int getMnemonic()
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.
mnemonic - the key code which represents the mnemonicKeyEvent, 
setDisplayedMnemonicIndex(int)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'.mnemonic - a char specifying the mnemonic valuesetMnemonic(int)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).
index - Index into the String to underlineIllegalArgumentException - will be thrown if index
            is >= length of the text, or < -1getDisplayedMnemonicIndex()public int getDisplayedMnemonicIndex()
setDisplayedMnemonicIndex(int)public void setMultiClickThreshhold(long threshhold)
threshhold - the amount of time required between mouse
        press events to generate corresponding action eventsIllegalArgumentException - if threshhold < 0getMultiClickThreshhold()public long getMultiClickThreshhold()
setMultiClickThreshhold(long)public ButtonModel getModel()
model propertysetModel(javax.swing.ButtonModel)public void setModel(ButtonModel newModel)
newModel - the new ButtonModelgetModel()public ButtonUI getUI()
setUI(javax.swing.plaf.ButtonUI)public void setUI(ButtonUI ui)
ui - the ButtonUI L&F objectgetUI()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));
 updateUI in class JComponentJComponent.setUI(javax.swing.plaf.ComponentUI), 
UIManager.getLookAndFeel(), 
UIManager.getUI(javax.swing.JComponent)protected void addImpl(Component comp, Object constraints, int index)
Container.addImpl(Component, Object, int)
 for a complete description of this method.addImpl in class Containercomp - the component to be addedconstraints - an object expressing layout constraints
                 for this componentindex - the position in the container's list at which to
                 insert the component, where -1
                 means append to the endIllegalArgumentException - if index is invalidIllegalArgumentException - if adding the container's parent
                  to itselfIllegalArgumentException - if adding a window to a containerContainer.add(Component), 
Container.add(Component, int), 
Container.add(Component, java.lang.Object), 
Container.invalidate(), 
LayoutManager, 
LayoutManager2public void setLayout(LayoutManager mgr)
Container.setLayout(LayoutManager)
 for a complete description of this method.setLayout in class Containermgr - the specified layout managerContainer.doLayout(), 
Container.getLayout(), 
Container.invalidate()public void addChangeListener(ChangeListener l)
ChangeListener to the button.l - the listener to be addedpublic void removeChangeListener(ChangeListener l)
l - the listener to be removedpublic ChangeListener[] getChangeListeners()
ChangeListeners added
 to this AbstractButton with addChangeListener().ChangeListeners added or an empty
         array if no listeners have been addedprotected void fireStateChanged()
EventListenerListpublic void addActionListener(ActionListener l)
ActionListener to the button.l - the ActionListener to be addedpublic 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.l - the listener to be removedpublic ActionListener[] getActionListeners()
ActionListeners added
 to this AbstractButton with addActionListener().ActionListeners added or an empty
         array if no listeners have been addedprotected ChangeListener createChangeListener()
ChangeEvents differently
 can override this to return another ChangeListener
 implementation.ChangeListenerprotected void fireActionPerformed(ActionEvent event)
event
 parameter.event - the ActionEvent objectEventListenerListprotected void fireItemStateChanged(ItemEvent event)
event parameter.event - the ItemEvent objectEventListenerListprotected ActionListener createActionListener()
protected ItemListener createItemListener()
public void setEnabled(boolean b)
setEnabled in class JComponentb - true to enable the button, otherwise falseComponent.isEnabled(), 
Component.isLightweight()@Deprecated public String getLabel()
getTextString containing the label@Deprecated public void setLabel(String label)
setText(text)label - a String containing the textpublic void addItemListener(ItemListener l)
ItemListener to the checkbox.addItemListener in interface ItemSelectablel - the ItemListener to be addedItemEventpublic void removeItemListener(ItemListener l)
ItemListener from the button.removeItemListener in interface ItemSelectablel - the ItemListener to be removedItemEventpublic ItemListener[] getItemListeners()
ItemListeners added
 to this AbstractButton with addItemListener().ItemListeners added or an empty
         array if no listeners have been addedpublic Object[] getSelectedObjects()
null if the button is not selected.getSelectedObjects in interface ItemSelectablenullpublic 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.imageUpdate in interface ImageObserverimageUpdate in class Componentimg - the Image to be comparedinfoflags - flags used to repaint the button when the image
          is updated and which determine how much is to be paintedx - the x coordinatey - the y coordinatew - the widthh - the heightfalse if the infoflags indicate that the
            image is completely loaded; true otherwise.ImageObserver, 
Component.imageUpdate(java.awt.Image, int, int, int, int, int)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.
paramString in class JComponentAbstractButton Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.