javax.swing
Class AbstractButton

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

public abstract class AbstractButton
extends JComponent
implements ItemSelectable, SwingConstants

Defines common behaviors for buttons and menu items. For further information see How to Use Buttons, Check Boxes, and Radio Buttons, a section in The Java Tutorial.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

Version:
1.174 05/18/04

Nested Class Summary
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 inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  ActionListener actionListener
          The button model's ActionListener.
static String BORDER_PAINTED_CHANGED_PROPERTY
          Identifies a change to having the border drawn, or having it not drawn.
protected  ChangeEvent changeEvent
          Only one ChangeEvent is needed per button instance since the event's only state is the source property.
protected  ChangeListener changeListener
          The button model's changeListener.
static String CONTENT_AREA_FILLED_CHANGED_PROPERTY
          Identifies a change to having the button paint the content area.
static String DISABLED_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the button has been disabled.
static String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the button has been disabled and selected.
static String FOCUS_PAINTED_CHANGED_PROPERTY
          Identifies a change to having the border highlighted when focused, or not.
static String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY
          Identifies a change in the button's horizontal alignment.
static String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY
          Identifies a change in the button's horizontal text position.
static String ICON_CHANGED_PROPERTY
          Identifies a change to the icon that represents the button.
protected  ItemListener itemListener
          The button model's ItemListener.
static String MARGIN_CHANGED_PROPERTY
          Identifies a change in the button's margins.
static String MNEMONIC_CHANGED_PROPERTY
          Identifies a change to the button's mnemonic.
protected  ButtonModel model
          The data model that determines the button's state.
static String MODEL_CHANGED_PROPERTY
          Identifies a change in the button model.
static String PRESSED_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the button has been pressed.
static String ROLLOVER_ENABLED_CHANGED_PROPERTY
          Identifies a change from rollover enabled to disabled or back to enabled.
static String ROLLOVER_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the cursor is over the button.
static String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the cursor is over the button and it has been selected.
static String SELECTED_ICON_CHANGED_PROPERTY
          Identifies a change to the icon used when the button has been selected.
static String TEXT_CHANGED_PROPERTY
          Identifies a change in the button's text.
static String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
          Identifies a change in the button's vertical alignment.
static String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
          Identifies a change in the button's vertical text position.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from 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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AbstractButton()
           
 
Method Summary
 void addActionListener(ActionListener l)
          Adds an ActionListener to the button.
 void addChangeListener(ChangeListener l)
          Adds a ChangeListener to the button.
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 ItemListener to the checkbox.
protected  int checkHorizontalKey(int key, String exception)
          Verify that key is a legal value for the horizontalAlignment properties.
protected  int checkVerticalKey(int key, String exception)
          Ensures that the key is a valid.
protected  void configurePropertiesFromAction(Action a)
          Factory method which sets the ActionEvent source's properties according to values from the Action instance.
protected  ActionListener createActionListener()
           
protected  PropertyChangeListener createActionPropertyChangeListener(Action a)
          Factory method which creates the PropertyChangeListener used to update the ActionEvent source as properties change on its Action instance.
protected  ChangeListener createChangeListener()
          Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation.
protected  ItemListener createItemListener()
           
 void doClick()
          Programmatically perform a "click".
 void doClick(int pressTime)
          Programmatically perform a "click".
protected  void fireActionPerformed(ActionEvent event)
          Notifies all listeners that have registered interest for notification on this event type.
protected  void fireItemStateChanged(ItemEvent event)
          Notifies all listeners that have registered interest for notification on this event type.
protected  void fireStateChanged()
          Notifies all listeners that have registered interest for notification on this event type.
 Action getAction()
          Returns the currently set Action for this ActionEvent source, or null if no Action is set.
 String getActionCommand()
          Returns the action command for this button.
 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.
 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().
 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 null if the button is not selected.
 String getText()
          Returns the button's text.
 ButtonUI getUI()
          Returns the L&F object that renders this component.
 int getVerticalAlignment()
          Returns the vertical alignment of the text and icon.
 int getVerticalTextPosition()
          Returns the vertical position of the text relative to the icon.
 boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
          This is overridden to return false if the current Icon's Image is not equal to the passed in Image img.
protected  void init(String text, Icon icon)
           
 boolean isBorderPainted()
          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(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.
 void removeActionListener(ActionListener l)
          Removes an ActionListener from the button.
 void removeChangeListener(ChangeListener l)
          Removes a ChangeListener from the button.
 void removeItemListener(ItemListener l)
          Removes an ItemListener from the button.
 void setAction(Action a)
          Sets the Action for the ActionEvent source.
 void setActionCommand(String actionCommand)
          Sets the action command for this button.
 void setBorderPainted(boolean b)
          Sets the borderPainted property.
 void setContentAreaFilled(boolean b)
          Sets the contentAreaFilled property.
 void setDisabledIcon(Icon disabledIcon)
          Sets the disabled icon for the button.
 void setDisabledSelectedIcon(Icon disabledSelectedIcon)
          Sets the disabled selection icon for the button.
 void 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 paintFocus property, which must be true for the focus state to be painted.
 void setHorizontalAlignment(int alignment)
          Sets the horizontal alignment of the icon and text.
 void setHorizontalTextPosition(int textPosition)
          Sets the horizontal position of the text relative to the icon.
 void setIcon(Icon defaultIcon)
          Sets the button's default icon.
 void setIconTextGap(int iconTextGap)
          If both the icon and text properties are set, this property defines the space between them.
 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 rolloverEnabled property, which must be true for rollover effects to occur.
 void setRolloverIcon(Icon rolloverIcon)
          Sets the rollover icon for the button.
 void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
          Sets the rollover selected icon for the button.
 void setSelected(boolean b)
          Sets the state of the button.
 void setSelectedIcon(Icon selectedIcon)
          Sets the selected icon for the button.
 void 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.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, hasFocus, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

actionListener

protected ActionListener actionListener
The button model's ActionListener.


BORDER_PAINTED_CHANGED_PROPERTY

public static final String BORDER_PAINTED_CHANGED_PROPERTY
Identifies a change to having the border drawn, or having it not drawn.

See Also:
Constant Field Values

changeEvent

protected transient ChangeEvent changeEvent
Only one ChangeEvent is needed per button instance since the event's only state is the source property. The source of events generated is always "this".


changeListener

protected ChangeListener changeListener
The button model's changeListener.


CONTENT_AREA_FILLED_CHANGED_PROPERTY

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

See Also:
Constant Field Values

DISABLED_ICON_CHANGED_PROPERTY

public static final String DISABLED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been disabled.

See Also:
Constant Field Values

DISABLED_SELECTED_ICON_CHANGED_PROPERTY

public static final String DISABLED_SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been disabled and selected.

See Also:
Constant Field Values

FOCUS_PAINTED_CHANGED_PROPERTY

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

See Also:
Constant Field Values

HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY

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

See Also:
Constant Field Values

HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY

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

See Also:
Constant Field Values

ICON_CHANGED_PROPERTY

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

See Also:
Constant Field Values

itemListener

protected ItemListener itemListener
The button model's ItemListener.


MARGIN_CHANGED_PROPERTY

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

See Also:
Constant Field Values

MNEMONIC_CHANGED_PROPERTY

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

See Also:
Constant Field Values

model

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


MODEL_CHANGED_PROPERTY

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

See Also:
Constant Field Values

PRESSED_ICON_CHANGED_PROPERTY

public static final String PRESSED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been pressed.

See Also:
Constant Field Values

ROLLOVER_ENABLED_CHANGED_PROPERTY

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

See Also:
Constant Field Values

ROLLOVER_ICON_CHANGED_PROPERTY

public static final String ROLLOVER_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the cursor is over the button.

See Also:
Constant Field Values

ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY

public static final String ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the cursor is over the button and it has been selected.

See Also:
Constant Field Values

SELECTED_ICON_CHANGED_PROPERTY

public static final String SELECTED_ICON_CHANGED_PROPERTY
Identifies a change to the icon used when the button has been selected.

See Also:
Constant Field Values

TEXT_CHANGED_PROPERTY

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

See Also:
Constant Field Values

VERTICAL_ALIGNMENT_CHANGED_PROPERTY

public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY
Identifies a change in the button's vertical alignment.

See Also:
Constant Field Values

VERTICAL_TEXT_POSITION_CHANGED_PROPERTY

public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
Identifies a change in the button's vertical text position.

See Also:
Constant Field Values
Constructor Detail

AbstractButton

public AbstractButton()
Method Detail

addActionListener

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

Parameters:
l - the ActionListener to be added

addChangeListener

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

Parameters:
l - the listener to be added

addImpl

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

Overrides:
addImpl in class Container
Parameters:
comp - the component to be added
constraints - an object expressing layout constraints for this component
index - the position in the container's list at which to insert the component, where -1 means append to the end
Throws:
IllegalArgumentException - if index is invalid
IllegalArgumentException - if adding the container's parent to itself
IllegalArgumentException - if adding a window to a container
Since:
1.5
See Also:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), LayoutManager, LayoutManager2

addItemListener

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

Specified by:
addItemListener in interface ItemSelectable
Parameters:
l - the ItemListener to be added
See Also:
ItemEvent

checkHorizontalKey

protected int checkHorizontalKey(int key,
                                 String exception)
Verify that key is a legal value for the horizontalAlignment properties.

Parameters:
key - the property value to check, one of the following values:
  • SwingConstants.RIGHT (the default)
  • SwingConstants.LEFT
  • SwingConstants.CENTER
  • SwingConstants.LEADING
  • SwingConstants.TRAILING
exception - the IllegalArgumentException detail message
Throws:
IllegalArgumentException - if key is not one of the legal values listed above
See Also:
setHorizontalTextPosition(int), setHorizontalAlignment(int)

checkVerticalKey

protected int checkVerticalKey(int key,
                               String exception)
Ensures that the key is a valid. Throws an IllegalArgumentException exception otherwise.

Parameters:
key - the value to check, one of the following values:
  • SwingConstants.CENTER (the default)
  • SwingConstants.TOP
  • SwingConstants.BOTTOM
exception - a string to be passed to the IllegalArgumentException call if key is not one of the valid values listed above
Throws:
IllegalArgumentException - if key is not one of the legal values listed above

configurePropertiesFromAction

protected void configurePropertiesFromAction(Action a)
Factory method which sets the ActionEvent source's properties according to values from the Action instance. The properties which are set may differ for subclasses. By default, the properties which get set are Text, Icon, Enabled, ToolTipText, ActionCommand, and Mnemonic.

If the Action passed in is null, the following things will occur:

Parameters:
a - the Action from which to get the properties, or null
Since:
1.3
See Also:
Action, setAction(javax.swing.Action)

createActionListener

protected ActionListener createActionListener()

createActionPropertyChangeListener

protected PropertyChangeListener createActionPropertyChangeListener(Action a)
Factory method which creates the PropertyChangeListener used to update the ActionEvent source as properties change on its Action instance. Subclasses may override this in order to provide their own PropertyChangeListener if the set of properties which should be kept up to date differs from the default properties (Text, Icon, Enabled, ToolTipText, Mnemonic).

Note that PropertyChangeListeners should avoid holding strong references to the ActionEvent source, as this may hinder garbage collection of the ActionEvent source and all components in its containment hierarchy.

Parameters:
a - the new action for the button
Since:
1.3
See Also:
Action, setAction(javax.swing.Action)

createChangeListener

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

Returns:
the new ChangeListener

createItemListener

protected ItemListener createItemListener()

doClick

public void doClick()
Programmatically perform a "click". This does the same thing as if the user had pressed and released the button.


doClick

public void doClick(int pressTime)
Programmatically perform a "click". This does the same thing as if the user had pressed and released the button. The button stays visually "pressed" for pressTime milliseconds.

Parameters:
pressTime - the time to "hold down" the button, in milliseconds

fireActionPerformed

protected void fireActionPerformed(ActionEvent event)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the event parameter.

Parameters:
event - the ActionEvent object
See Also:
EventListenerList

fireItemStateChanged

protected void fireItemStateChanged(ItemEvent event)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the event parameter.

Parameters:
event - the ItemEvent object
See Also:
EventListenerList

fireStateChanged

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

See Also:
EventListenerList

getAction

public Action getAction()
Returns the currently set Action for this ActionEvent source, or null if no Action is set.

Returns:
the Action for this ActionEvent source, or null
Since:
1.3
See Also:
Action, setAction(javax.swing.Action)

getActionCommand

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

Returns:
the action command for this button

getActionListeners

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

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

getChangeListeners

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

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

getDisabledIcon

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

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

Returns:
the disabledIcon property
See Also:
getPressedIcon(), setDisabledIcon(javax.swing.Icon), LookAndFeel.getDisabledIcon(javax.swing.JComponent, javax.swing.Icon)

getDisabledSelectedIcon

public Icon getDisabledSelectedIcon()
Returns the icon used by the button when it's disabled and selected. If no disabled selection icon has been set, this will forward the call to the LookAndFeel to construct an appropriate disabled Icon from the selection icon if it has been set and to getDisabledIcon() otherwise.

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

Returns:
the disabledSelectedIcon property
See Also:
getDisabledIcon(), setDisabledSelectedIcon(javax.swing.Icon), LookAndFeel.getDisabledSelectedIcon(javax.swing.JComponent, javax.swing.Icon)

getDisplayedMnemonicIndex

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

Returns:
index representing mnemonic character
Since:
1.4
See Also:
setDisplayedMnemonicIndex(int)

getHorizontalAlignment

public int getHorizontalAlignment()
Returns the horizontal alignment of the icon and text.

Returns:
the horizontalAlignment property, one of the following values:
  • SwingConstants.RIGHT (the default)
  • SwingConstants.LEFT
  • SwingConstants.CENTER
  • SwingConstants.LEADING
  • SwingConstants.TRAILING

getHorizontalTextPosition

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

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

getIcon

public Icon getIcon()
Returns the default icon.

Returns:
the default Icon
See Also:
setIcon(javax.swing.Icon)

getIconTextGap

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

Returns:
an int equal to the number of pixels between the text and the icon.
Since:
1.4
See Also:
setIconTextGap(int)

getItemListeners

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

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

getMargin

public Insets getMargin()
Returns the margin between the button's border and the label.

Returns:
an Insets object specifying the margin between the botton's border and the label
See Also:
setMargin(java.awt.Insets)

getMnemonic

public int getMnemonic()</