public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants
Buttons can be configured, and to some degree controlled, by
Action
s. 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.AccessibleAbstractButton
This class implements accessibility support for the
AbstractButton class. |
protected class |
AbstractButton.ButtonChangeListener
Extends
ChangeListener to be serializable. |
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
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.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
ABORT, 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
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 the
key argument is a legal value for the
horizontalAlignment and horizontalTextPosition
properties. |
protected int |
checkVerticalKey(int key,
String exception)
Verify that the
key argument 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
PropertyChangeListener that is
responsible for listening for changes from the specified
Action and updating the appropriate properties. |
protected ChangeListener |
createChangeListener()
Subclasses that want to handle
ChangeEvents differently
can override this to return another ChangeListener
implementation. |
protected ItemListener |
createItemListener() |
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
ActionListener s added
to this AbstractButton with addActionListener(). |
ChangeListener[] |
getChangeListeners()
Returns an array of all the
ChangeListener s added
to this AbstractButton with addChangeListener(). |
Icon |
getDisabledIcon()
Returns the icon used by the button when it's disabled.
|
Icon |
getDisabledSelectedIcon()
Returns the icon used by the button when it's disabled and selected.
|
int |
getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should
provide decoration for as representing the mnemonic character.
|
boolean |
getHideActionText()
Returns the value of the
hideActionText property, which
determines whether the button displays text from the
Action . |
int |
getHorizontalAlignment()
Returns the horizontal alignment of the icon and text.
|
int |
getHorizontalTextPosition()
Returns the horizontal position of the text relative to the icon.
|
Icon |
getIcon()
Returns the default icon.
|
int |
getIconTextGap()
Returns the amount of space between the text and the icon
displayed in this button.
|
ItemListener[] |
getItemListeners()
Returns an array of all the
ItemListener s 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
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 |
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
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 |
setHideActionText(boolean hideActionText)
Sets the
hideActionText property, which determines
whether the button displays text from the Action . |
void |
setHorizontalAlignment(int alignment)
Sets the horizontal alignment of the icon and text.
|
void |
setHorizontalTextPosition(int textPosition)
Sets the horizontal position of the text relative to the icon.
|
void |
setIcon(Icon defaultIcon)
Sets the button's default icon.
|
void |
setIconTextGap(int iconTextGap)
If both the icon and text properties are set, this property
defines the space between them.
|
void |
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
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.
|
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, update
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, transferFocusUpCycle
public 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
false
Action
public boolean getHideActionText()
hideActionText
property, which
determines whether the button displays text from the
Action
. This is useful only if an Action
has been installed on the button.true
if the button's text
property should not reflect that of the
Action
; the default is false
public 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()
Icon
setIcon(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()
KeyboardAction
s
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 JComponent
JComponent.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 null
Action
,
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 null
Action
,
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 null
Action
,
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 JComponent
g
- 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 ButtonModel
getModel()
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 JComponent
JComponent.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 Container
comp
- 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
,
LayoutManager2
public void setLayout(LayoutManager mgr)
Container.setLayout(LayoutManager)
for a complete description of this method.setLayout
in class Container
mgr
- 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()
ChangeListener
s added
to this AbstractButton with addChangeListener().ChangeListener
s added or an empty
array if no listeners have been addedprotected void fireStateChanged()
EventListenerList
public 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()
ActionListener
s added
to this AbstractButton with addActionListener().ActionListener
s added or an empty
array if no listeners have been addedprotected ChangeListener createChangeListener()
ChangeEvents
differently
can override this to return another ChangeListener
implementation.ChangeListener
protected void fireActionPerformed(ActionEvent event)
event
parameter.event
- the ActionEvent
objectEventListenerList
protected void fireItemStateChanged(ItemEvent event)
event
parameter.event
- the ItemEvent
objectEventListenerList
protected ActionListener createActionListener()
protected ItemListener createItemListener()
public void setEnabled(boolean b)
setEnabled
in class JComponent
b
- true to enable the button, otherwise falseComponent.isEnabled()
,
Component.isLightweight()
@Deprecated public String getLabel()
getText
String
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 ItemSelectable
l
- the ItemListener
to be addedItemEvent
public void removeItemListener(ItemListener l)
ItemListener
from the button.removeItemListener
in interface ItemSelectable
l
- the ItemListener
to be removedItemEvent
public ItemListener[] getItemListeners()
ItemListener
s added
to this AbstractButton with addItemListener().ItemListener
s added or an empty
array if no listeners have been addedpublic Object[] getSelectedObjects()
null
if the button is not selected.getSelectedObjects
in interface ItemSelectable
null
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
Icon
's
Image
is not equal to the
passed in Image
img
.imageUpdate
in interface ImageObserver
imageUpdate
in class Component
img
- 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 JComponent
AbstractButton
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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.