Save This Page
Home » openjdk-7 » javax » swing » [javadoc | source]
javax.swing
abstract public class: AbstractButton [javadoc | source]
java.lang.Object
   java.awt.Component
      java.awt.Container
         javax.swing.JComponent
            javax.swing.AbstractButton

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

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 java.beans.XMLEncoder .

Nested Class Summary:
protected class  AbstractButton.ButtonChangeListener  Extends ChangeListener to be serializable.

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

class  AbstractButton.Handler   
abstract protected class  AbstractButton.AccessibleAbstractButton  This class implements accessibility support for the AbstractButton class. It provides an implementation of the Java Accessibility API appropriate to button and menu item user-interface elements.

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

Field Summary
public static final  String MODEL_CHANGED_PROPERTY    Identifies a change in the button model. 
public static final  String TEXT_CHANGED_PROPERTY    Identifies a change in the button's text. 
public static final  String MNEMONIC_CHANGED_PROPERTY    Identifies a change to the button's mnemonic. 
public static final  String MARGIN_CHANGED_PROPERTY    Identifies a change in the button's margins. 
public static final  String VERTICAL_ALIGNMENT_CHANGED_PROPERTY    Identifies a change in the button's vertical alignment. 
public static final  String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY    Identifies a change in the button's horizontal alignment. 
public static final  String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY    Identifies a change in the button's vertical text position. 
public static final  String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY    Identifies a change in the button's horizontal text position. 
public static final  String BORDER_PAINTED_CHANGED_PROPERTY    Identifies a change to having the border drawn, or having it not drawn. 
public static final  String FOCUS_PAINTED_CHANGED_PROPERTY    Identifies a change to having the border highlighted when focused, or not. 
public static final  String ROLLOVER_ENABLED_CHANGED_PROPERTY    Identifies a change from rollover enabled to disabled or back to enabled. 
public static final  String CONTENT_AREA_FILLED_CHANGED_PROPERTY    Identifies a change to having the button paint the content area. 
public static final  String ICON_CHANGED_PROPERTY    Identifies a change to the icon that represents the button. 
public static final  String PRESSED_ICON_CHANGED_PROPERTY    Identifies a change to the icon used when the button has been pressed. 
public static final  String SELECTED_ICON_CHANGED_PROPERTY    Identifies a change to the icon used when the button has been selected. 
public static final  String ROLLOVER_ICON_CHANGED_PROPERTY    Identifies a change to the icon used when the cursor is over the button. 
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. 
public static final  String DISABLED_ICON_CHANGED_PROPERTY    Identifies a change to the icon used when the button has been disabled. 
public static final  String DISABLED_SELECTED_ICON_CHANGED_PROPERTY    Identifies a change to the icon used when the button has been disabled and selected. 
protected  ButtonModel model    The data model that determines the button's state. 
 boolean defaultCapable     
protected  ChangeListener changeListener    The button model's changeListener
protected  ActionListener actionListener    The button model's ActionListener
protected  ItemListener itemListener    The button model's ItemListener
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". 
Fields inherited from javax.swing.JComponent:
DEBUG_GRAPHICS_LOADED,  ui,  listenerList,  paintingChild,  WHEN_FOCUSED,  WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,  WHEN_IN_FOCUSED_WINDOW,  UNDEFINED_CONDITION,  TOOL_TIP_TEXT_KEY,  focusController,  accessibleContext
Fields inherited from java.awt.Container:
layoutMgr,  containerListener,  listeningChildren,  listeningBoundsChildren,  descendantsCount,  preserveBackgroundColor,  INCLUDE_SELF,  SEARCH_HEAVYWEIGHTS,  modalComp,  modalAppContext
Fields inherited from java.awt.Component:
peer,  parent,  appContext,  x,  y,  width,  height,  foreground,  background,  font,  peerFont,  cursor,  locale,  bufferStrategy,  ignoreRepaint,  visible,  enabled,  dropTarget,  popups,  focusTraversalKeys,  LOCK,  minSize,  minSizeSet,  prefSize,  prefSizeSet,  maxSize,  maxSizeSet,  componentOrientation,  newEventsOnly,  componentListener,  focusListener,  hierarchyListener,  hierarchyBoundsListener,  keyListener,  mouseListener,  mouseMotionListener,  mouseWheelListener,  inputMethodListener,  windowClosingException,  actionListenerK,  adjustmentListenerK,  componentListenerK,  containerListenerK,  focusListenerK,  itemListenerK,  keyListenerK,  mouseListenerK,  mouseMotionListenerK,  mouseWheelListenerK,  textListenerK,  ownedWindowK,  windowListenerK,  inputMethodListenerK,  hierarchyListenerK,  hierarchyBoundsListenerK,  windowStateListenerK,  windowFocusListenerK,  eventMask,  isInc,  incRate,  TOP_ALIGNMENT,  CENTER_ALIGNMENT,  BOTTOM_ALIGNMENT,  LEFT_ALIGNMENT,  RIGHT_ALIGNMENT,  isPacked,  backgroundEraseDisabled,  eventCache,  accessibleContext
Method from javax.swing.AbstractButton Summary:
actionPropertyChanged,   addActionListener,   addChangeListener,   addImpl,   addItemListener,   checkHorizontalKey,   checkVerticalKey,   clientPropertyChanged,   configurePropertiesFromAction,   createActionListener,   createActionPropertyChangeListener,   createActionPropertyChangeListener0,   createChangeListener,   createItemListener,   doClick,   doClick,   fireActionPerformed,   fireItemStateChanged,   fireStateChanged,   getAction,   getActionCommand,   getActionListeners,   getChangeListeners,   getDisabledIcon,   getDisabledSelectedIcon,   getDisplayedMnemonicIndex,   getHideActionText,   getHorizontalAlignment,   getHorizontalTextPosition,   getIcon,   getIconTextGap,   getItemListeners,   getLabel,   getMargin,   getMnemonic,   getModel,   getMultiClickThreshhold,   getPressedIcon,   getRolloverIcon,   getRolloverSelectedIcon,   getSelectedIcon,   getSelectedObjects,   getText,   getUI,   getVerticalAlignment,   getVerticalTextPosition,   imageUpdate,   init,   isBorderPainted,   isContentAreaFilled,   isFocusPainted,   isRolloverEnabled,   isSelected,   largeIconChanged,   paintBorder,   paramString,   removeActionListener,   removeChangeListener,   removeItemListener,   removeNotify,   setAction,   setActionCommand,   setBorderPainted,   setContentAreaFilled,   setDisabledIcon,   setDisabledSelectedIcon,   setDisplayedMnemonicIndex,   setEnabled,   setFocusPainted,   setHideActionText,   setHorizontalAlignment,   setHorizontalTextPosition,   setIcon,   setIconFromAction,   setIconTextGap,   setLabel,   setLayout,   setMargin,   setMnemonic,   setMnemonic,   setModel,   setMultiClickThreshhold,   setPressedIcon,   setRolloverEnabled,   setRolloverIcon,   setRolloverSelectedIcon,   setSelected,   setSelectedIcon,   setText,   setUI,   setUIProperty,   setVerticalAlignment,   setVerticalTextPosition,   shouldUpdateSelectedStateFromAction,   smallIconChanged,   updateUI
Methods from javax.swing.JComponent:
_paintImmediately,   addAncestorListener,   addNotify,   addVetoableChangeListener,   alwaysOnTop,   checkIfChildObscuredBySibling,   clientPropertyChanged,   compWriteObjectNotify,   componentInputMapChanged,   computeVisibleRect,   computeVisibleRect,   contains,   createToolTip,   disable,   dndDone,   dropLocationForPoint,   enable,   firePropertyChange,   firePropertyChange,   firePropertyChange,   fireVetoableChange,   getAccessibleContext,   getActionForKeyStroke,   getActionMap,   getActionMap,   getAlignmentX,   getAlignmentY,   getAncestorListeners,   getAutoscrolls,   getBaseline,   getBaselineResizeBehavior,   getBorder,   getBounds,   getClientProperty,   getComponentGraphics,   getComponentPopupMenu,   getConditionForKeyStroke,   getCreatedDoubleBuffer,   getDebugGraphicsOptions,   getDefaultLocale,   getFontMetrics,   getGraphics,   getGraphicsInvoked,   getHeight,   getInheritsPopupMenu,   getInputMap,   getInputMap,   getInputMap,   getInputVerifier,   getInsets,   getInsets,   getListeners,   getLocation,   getManagingFocusBackwardTraversalKeys,   getManagingFocusForwardTraversalKeys,   getMaximumSize,   getMinimumSize,   getNextFocusableComponent,   getPopupLocation,   getPreferredSize,   getRegisteredKeyStrokes,   getRootPane,   getSize,   getToolTipLocation,   getToolTipText,   getToolTipText,   getTopLevelAncestor,   getTransferHandler,   getUIClassID,   getVerifyInputWhenFocusTarget,   getVetoableChangeListeners,   getVisibleRect,   getWidth,   getWriteObjCounter,   getX,   getY,   grabFocus,   isDoubleBuffered,   isLightweightComponent,   isManagingFocus,   isOpaque,   isOptimizedDrawingEnabled,   isPainting,   isPaintingForPrint,   isPaintingOrigin,   isPaintingTile,   isRequestFocusEnabled,   isValidateRoot,   paint,   paintBorder,   paintChildren,   paintComponent,   paintForceDoubleBuffered,   paintImmediately,   paintImmediately,   paintToOffscreen,   paramString,   print,   printAll,   printBorder,   printChildren,   printComponent,   processComponentKeyEvent,   processKeyBinding,   processKeyBindings,   processKeyBindingsForAllComponents,   processKeyEvent,   processMouseEvent,   processMouseMotionEvent,   putClientProperty,   rectangleIsObscured,   registerKeyboardAction,   registerKeyboardAction,   removeAncestorListener,   removeNotify,   removeVetoableChangeListener,   repaint,   repaint,   requestDefaultFocus,   requestFocus,   requestFocus,   requestFocusInWindow,   requestFocusInWindow,   resetKeyboardActions,   reshape,   revalidate,   safelyGetGraphics,   safelyGetGraphics,   scrollRectToVisible,   setActionMap,   setAlignmentX,   setAlignmentY,   setAutoscrolls,   setBackground,   setBorder,   setComponentPopupMenu,   setCreatedDoubleBuffer,   setDebugGraphicsOptions,   setDefaultLocale,   setDoubleBuffered,   setDropLocation,   setEnabled,   setFocusTraversalKeys,   setFont,   setForeground,   setInheritsPopupMenu,   setInputMap,   setInputVerifier,   setMaximumSize,   setMinimumSize,   setNextFocusableComponent,   setOpaque,   setPaintingChild,   setPreferredSize,   setRequestFocusEnabled,   setToolTipText,   setTransferHandler,   setUI,   setUIProperty,   setVerifyInputWhenFocusTarget,   setVisible,   setWriteObjCounter,   shouldDebugGraphics,   superProcessMouseMotionEvent,   unregisterKeyboardAction,   update,   updateUI
Methods from java.awt.Container:
add,   add,   add,   add,   add,   addContainerListener,   addImpl,   addNotify,   addPropertyChangeListener,   addPropertyChangeListener,   adjustDecendantsOnParent,   adjustDescendants,   adjustListeningChildren,   applyComponentOrientation,   areFocusTraversalKeysSet,   canContainFocusOwner,   checkGD,   clearCurrentFocusCycleRootOnHide,   clearMostRecentFocusOwnerOnHide,   containsFocus,   countComponents,   countHierarchyMembers,   createChildHierarchyEvents,   createHierarchyEvents,   decreaseComponentCount,   deliverEvent,   dispatchEventImpl,   dispatchEventToSelf,   doLayout,   eventEnabled,   findComponentAt,   findComponentAt,   findComponentAt,   findComponentAtImpl,   getAccessibleAt,   getAccessibleChild,   getAccessibleChildrenCount,   getAlignmentX,   getAlignmentY,   getComponent,   getComponentAt,   getComponentAt,   getComponentCount,   getComponentZOrder,   getComponents,   getComponentsSync,   getComponents_NoClientCode,   getContainerListeners,   getDropTargetEventTarget,   getFocusTraversalKeys,   getFocusTraversalPolicy,   getHeavyweightContainer,   getInsets,   getLayout,   getListeners,   getMaximumSize,   getMinimumSize,   getMouseEventTarget,   getMousePosition,   getOpaqueShape,   getPreferredSize,   getTraversalRoot,   hasHeavyweightDescendants,   hasLightweightDescendants,   increaseComponentCount,   initializeFocusTraversalKeys,   insets,   invalidate,   invalidateParent,   invalidateTree,   isAncestorOf,   isFocusCycleRoot,   isFocusCycleRoot,   isFocusTraversalPolicyProvider,   isFocusTraversalPolicySet,   isRecursivelyVisibleUpToHeavyweightContainer,   isSameOrAncestorOf,   isValidateRoot,   layout,   lightweightPaint,   lightweightPrint,   list,   list,   locate,   minimumSize,   mixOnHiding,   mixOnReshaping,   mixOnShowing,   mixOnValidating,   mixOnZOrderChanging,   numListening,   paint,   paintComponents,   paintHeavyweightComponents,   paramString,   postProcessKeyEvent,   postsOldMouseEvents,   preProcessKeyEvent,   preferredSize,   print,   printComponents,   printHeavyweightComponents,   processContainerEvent,   processEvent,   proxyEnableEvents,   recursiveApplyCurrentShape,   recursiveApplyCurrentShape,   recursiveApplyCurrentShape,   recursiveSubtractAndApplyShape,   recursiveSubtractAndApplyShape,   recursiveSubtractAndApplyShape,   remove,   remove,   removeAll,   removeContainerListener,   removeNotify,   setComponentZOrder,   setFocusCycleRoot,   setFocusTraversalKeys,   setFocusTraversalPolicy,   setFocusTraversalPolicyProvider,   setFont,   setLayout,   transferFocusDownCycle,   update,   updateGraphicsData,   validate,   validateTree,   validateUnconditionally
Methods from java.awt.Component:
action,   add,   addComponentListener,   addFocusListener,   addHierarchyBoundsListener,   addHierarchyListener,   addInputMethodListener,   addKeyListener,   addMouseListener,   addMouseMotionListener,   addMouseWheelListener,   addNotify,   addPropertyChangeListener,   addPropertyChangeListener,   adjustListeningChildrenOnParent,   applyComponentOrientation,   applyCompoundShape,   applyCurrentShape,   areBoundsValid,   areFocusTraversalKeysSet,   areInputMethodsEnabled,   autoProcessMouseWheel,   bounds,   canBeFocusOwner,   canBeFocusOwnerRecursively,   checkGD,   checkImage,   checkImage,   checkTreeLock,   checkWindowClosingException,   clearCurrentFocusCycleRootOnHide,   clearMostRecentFocusOwnerOnHide,   coalesceEvents,   constructComponentName,   contains,   contains,   containsFocus,   countHierarchyMembers,   createBufferStrategy,   createBufferStrategy,   createHierarchyEvents,   createImage,   createImage,   createVolatileImage,   createVolatileImage,   deliverEvent,   disable,   disableEvents,   dispatchEvent,   dispatchEventImpl,   dispatchMouseWheelToAncestor,   doLayout,   enable,   enable,   enableEvents,   enableInputMethods,   eventEnabled,   eventTypeEnabled,   findUnderMouseInWindow,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   firePropertyChange,   getAccessControlContext,   getAccessibleContext,   getAccessibleIndexInParent,   getAccessibleStateSet,   getAlignmentX,   getAlignmentY,   getBackBuffer,   getBackground,   getBaseline,   getBaselineResizeBehavior,   getBounds,   getBounds,   getBoundsOp,   getBufferStrategy,   getColorModel,   getComponentAt,   getComponentAt,   getComponentListeners,   getComponentOrientation,   getContainer,   getContainingWindow,   getCursor,   getCursor_NoClientCode,   getDropTarget,   getFocusCycleRootAncestor,   getFocusListeners,   getFocusTraversalKeys,   getFocusTraversalKeysEnabled,   getFocusTraversalKeys_NoIDCheck,   getFont,   getFontMetrics,   getFont_NoClientCode,   getForeground,   getGraphics,   getGraphicsConfiguration,   getGraphicsConfiguration_NoClientCode,   getGraphics_NoClientCode,   getHWPeerAboveMe,   getHeight,   getHierarchyBoundsListeners,   getHierarchyListeners,   getIgnoreRepaint,   getInputContext,   getInputMethodListeners,   getInputMethodRequests,   getKeyListeners,   getListeners,   getLocale,   getLocation,   getLocation,   getLocationOnScreen,   getLocationOnScreen_NoTreeLock,   getLocationOnWindow,   getMaximumSize,   getMinimumSize,   getMouseListeners,   getMouseMotionListeners,   getMousePosition,   getMouseWheelListeners,   getName,   getNativeContainer,   getNextFocusCandidate,   getNormalShape,   getObjectLock,   getOpaqueShape,   getParent,   getParent_NoClientCode,   getPeer,   getPreferredSize,   getPropertyChangeListeners,   getPropertyChangeListeners,   getSiblingIndexAbove,   getSiblingIndexBelow,   getSize,   getSize,   getToolkit,   getToolkitImpl,   getTraversalRoot,   getTreeLock,   getWidth,   getX,   getY,   gotFocus,   handleEvent,   hasFocus,   hide,   imageUpdate,   initializeFocusTraversalKeys,   inside,   invalidate,   invalidateIfValid,   invalidateParent,   isAutoFocusTransferOnDisposal,   isBackgroundSet,   isCoalescingEnabled,   isCursorSet,   isDisplayable,   isDoubleBuffered,   isEnabled,   isEnabledImpl,   isFocusCycleRoot,   isFocusOwner,   isFocusTraversable,   isFocusTraversableOverridden,   isFocusable,   isFontSet,   isForegroundSet,   isInstanceOf,   isLightweight,   isMaximumSizeSet,   isMinimumSizeSet,   isMixingNeeded,   isNonOpaqueForMixing,   isOpaque,   isPreferredSizeSet,   isRecursivelyVisible,   isSameOrAncestorOf,   isShowing,   isValid,   isVisible,   isVisible_NoClientCode,   keyDown,   keyUp,   layout,   lightweightPaint,   lightweightPrint,   list,   list,   list,   list,   list,   locate,   location,   lostFocus,   minimumSize,   mixOnHiding,   mixOnReshaping,   mixOnShowing,   mixOnValidating,   mixOnZOrderChanging,   mouseDown,   mouseDrag,   mouseEnter,   mouseExit,   mouseMove,   mouseUp,   move,   nextFocus,   numListening,   paint,   paintAll,   paintHeavyweightComponents,   paramString,   pointRelativeToComponent,   postEvent,   postsOldMouseEvents,   preferredSize,   prepareImage,   prepareImage,   print,   printAll,   printHeavyweightComponents,   processComponentEvent,   processEvent,   processFocusEvent,   processHierarchyBoundsEvent,   processHierarchyEvent,   processInputMethodEvent,   processKeyEvent,   processMouseEvent,   processMouseMotionEvent,   processMouseWheelEvent,   relocateComponent,   remove,   removeComponentListener,   removeFocusListener,   removeHierarchyBoundsListener,   removeHierarchyListener,   removeInputMethodListener,   removeKeyListener,   removeMouseListener,   removeMouseMotionListener,   removeMouseWheelListener,   removeNotify,   removePropertyChangeListener,   removePropertyChangeListener,   repaint,   repaint,   repaint,   repaint,   requestFocus,   requestFocus,   requestFocus,   requestFocus,   requestFocusHelper,   requestFocusHelper,   requestFocusInWindow,   requestFocusInWindow,   requestFocusInWindow,   requestFocusInWindow,   reshape,   resize,   resize,   revalidate,   setAutoFocusTransferOnDisposal,   setBackground,   setBounds,   setBounds,   setBoundsOp,   setComponentOrientation,   setCursor,   setDropTarget,   setEnabled,   setFocusTraversalKeys,   setFocusTraversalKeysEnabled,   setFocusTraversalKeys_NoIDCheck,   setFocusable,   setFont,   setForeground,   setGraphicsConfiguration,   setIgnoreRepaint,   setLocale,   setLocation,   setLocation,   setMaximumSize,   setMinimumSize,   setName,   setPreferredSize,   setRequestFocusController,   setSize,   setSize,   setVisible,   show,   show,   size,   subtractAndApplyShape,   subtractAndApplyShapeBelowMe,   toString,   transferFocus,   transferFocus,   transferFocusBackward,   transferFocusBackward,   transferFocusUpCycle,   update,   updateCursorImmediately,   updateGraphicsData,   updateZOrder,   validate
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.swing.AbstractButton Detail:
 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.

 public  void addActionListener(ActionListener l) 
    Adds an ActionListener to the button.
 public  void addChangeListener(ChangeListener l) 
    Adds a ChangeListener to the button.
 protected  void addImpl(Component comp,
    Object constraints,
    int index) 
 public  void addItemListener(ItemListener l) 
    Adds an ItemListener to the checkbox.
 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:
    • {@code SwingConstants.RIGHT}
    • {@code SwingConstants.LEFT}
    • {@code SwingConstants.CENTER}
    • {@code SwingConstants.LEADING}
    • {@code SwingConstants.TRAILING}
 protected int checkVerticalKey(int key,
    String exception) 
    Verify that the {@code key} argument is a legal value for the vertical properties. Valid values are:
    • {@code SwingConstants.CENTER}
    • {@code SwingConstants.TOP}
    • {@code SwingConstants.BOTTOM}
  void clientPropertyChanged(Object key,
    Object oldValue,
    Object newValue) 
 protected  void configurePropertiesFromAction(Action a) 
 protected ActionListener createActionListener() 
 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.

 PropertyChangeListener createActionPropertyChangeListener0(Action a) 
 protected ChangeListener createChangeListener() 
    Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation.
 protected ItemListener createItemListener() 
 public  void doClick() 
    Programmatically perform a "click". This does the same thing as if the user had pressed and released the button.
 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.
 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.
 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.
 protected  void fireStateChanged() 
    Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created.
 public Action getAction() 
    Returns the currently set Action for this ActionEvent source, or null if no Action is set.
 public String getActionCommand() 
    Returns the action command for this button.
 public ActionListener[] getActionListeners() 
    Returns an array of all the ActionListeners added to this AbstractButton with addActionListener().
 public ChangeListener[] getChangeListeners() 
    Returns an array of all the ChangeListeners added to this AbstractButton with addChangeListener().
 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.

 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.

 public int getDisplayedMnemonicIndex() 
    Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.
 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.
 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.
 public int getHorizontalTextPosition() 
    Returns the horizontal position of the text relative to the icon.
 public Icon getIcon() 
    Returns the default icon.
 public int getIconTextGap() 
    Returns the amount of space between the text and the icon displayed in this button.
 public ItemListener[] getItemListeners() 
    Returns an array of all the ItemListeners added to this AbstractButton with addItemListener().
 public String getLabel() 
Deprecated! - - Replaced by getText

    Returns the label text.
 public Insets getMargin() 
    Returns the margin between the button's border and the label.
 public int getMnemonic() 
    Returns the keyboard mnemonic from the the current model.
 public ButtonModel getModel() 
    Returns the model that this button represents.
 public long getMultiClickThreshhold() 
    Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.
 public Icon getPressedIcon() 
    Returns the pressed icon for the button.
 public Icon getRolloverIcon() 
    Returns the rollover icon for the button.
 public Icon getRolloverSelectedIcon() 
    Returns the rollover selection icon for the button.
 public Icon getSelectedIcon() 
    Returns the selected icon for the button.
 public Object[] getSelectedObjects() 
    Returns an array (length 1) containing the label or null if the button is not selected.
 public String getText() 
    Returns the button's text.
 public ButtonUI getUI() 
    Returns the L&F object that renders this component.
 public int getVerticalAlignment() 
    Returns the vertical alignment of the text and icon.
 public int getVerticalTextPosition() 
    Returns the vertical position of the text relative to the icon.
 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.
 protected  void init(String text,
    Icon icon) 
 public boolean isBorderPainted() 
    Gets the borderPainted property.
 public boolean isContentAreaFilled() 
    Gets the contentAreaFilled property.
 public boolean isFocusPainted() 
    Gets the paintFocus property.
 public boolean isRolloverEnabled() 
    Gets the rolloverEnabled property.
 public boolean isSelected() 
    Returns the state of the button. True if the toggle button is selected, false if it's not.
  void largeIconChanged(Action a) 
 protected  void paintBorder(Graphics g) 
    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. 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.

 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.
 public  void removeChangeListener(ChangeListener l) 
    Removes a ChangeListener from the button.
 public  void removeItemListener(ItemListener l) 
    Removes an ItemListener from the button.
 public  void removeNotify() 
    {@inheritDoc}
 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.

 public  void setActionCommand(String actionCommand) 
    Sets the action command for this button.
 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.

    Some look and feels might not support the borderPainted property, in which case they ignore this.

 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.

 public  void setDisabledIcon(Icon disabledIcon) 
    Sets the disabled icon for the button.
 public  void setDisabledSelectedIcon(Icon disabledSelectedIcon) 
    Sets the disabled selection icon for the button.
 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).

 public  void setEnabled(boolean b) 
    Enables (or disables) the button.
 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.
 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.
 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.
 public  void setHorizontalTextPosition(int textPosition) 
    Sets the horizontal position of the text relative to the icon.
 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.
  void setIconFromAction(Action a) 
 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.

 public  void setLabel(String label) 
Deprecated! - - Replaced by setText(text)

    Sets the label text.
 public  void setLayout(LayoutManager mgr) 
 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).
 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. 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.

 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'.
 public  void setModel(ButtonModel newModel) 
    Sets the model that this button represents.
 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.
 public  void setPressedIcon(Icon pressedIcon) 
    Sets the pressed icon for the button.
 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.
 public  void setRolloverIcon(Icon rolloverIcon) 
    Sets the rollover icon for the button.
 public  void setRolloverSelectedIcon(Icon rolloverSelectedIcon) 
    Sets the rollover selected icon for the button.
 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.
 public  void setSelectedIcon(Icon selectedIcon) 
    Sets the selected icon for the button.
 public  void setText(String text) 
    Sets the button's text.
 public  void setUI(ButtonUI ui) 
    Sets the L&F object that renders this component.
  void setUIProperty(String propertyName,
    Object value) 
 public  void setVerticalAlignment(int alignment) 
    Sets the vertical alignment of the icon and text.
 public  void setVerticalTextPosition(int textPosition) 
    Sets the vertical position of the text relative to the icon.
 boolean shouldUpdateSelectedStateFromAction() 
    Button subclasses that support mirroring the selected state from the action should override this to return true. AbstractButton's implementation returns false.
  void smallIconChanged(Action a) 
 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));