ImageObserver
, ItemSelectable
, MenuContainer
, Serializable
, SwingConstants
JButton
, JMenuItem
, JToggleButton
@JavaBean(defaultProperty="UI") public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants
Buttons can be configured, and to some degree controlled, by 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 | 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 | Description |
---|---|---|
protected ActionListener |
actionListener |
The button model's ActionListener . |
static final String |
BORDER_PAINTED_CHANGED_PROPERTY |
Identifies a change to having the border drawn, or having it not drawn. |
protected ChangeEvent |
changeEvent |
Only one ChangeEvent is needed per button instance since the event's only state is the source property. |
protected ChangeListener |
changeListener |
The button model's changeListener . |
static final String |
CONTENT_AREA_FILLED_CHANGED_PROPERTY |
Identifies a change to having the button paint the content area. |
static final String |
DISABLED_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the button has been disabled. |
static final String |
DISABLED_SELECTED_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the button has been disabled and selected. |
static final String |
FOCUS_PAINTED_CHANGED_PROPERTY |
Identifies a change to having the border highlighted when focused, or not. |
static final String |
HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY |
Identifies a change in the button's horizontal alignment. |
static final String |
HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY |
Identifies a change in the button's horizontal text position. |
static final String |
ICON_CHANGED_PROPERTY |
Identifies a change to the icon that represents the button. |
protected ItemListener |
itemListener |
The button model's ItemListener . |
static final String |
MARGIN_CHANGED_PROPERTY |
Identifies a change in the button's margins. |
static final String |
MNEMONIC_CHANGED_PROPERTY |
Identifies a change to the button's mnemonic. |
protected ButtonModel |
model |
The data model that determines the button's state. |
static final String |
MODEL_CHANGED_PROPERTY |
Identifies a change in the button model. |
static final String |
PRESSED_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the button has been pressed. |
static final String |
ROLLOVER_ENABLED_CHANGED_PROPERTY |
Identifies a change from rollover enabled to disabled or back to enabled. |
static final String |
ROLLOVER_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the cursor is over the button. |
static final String |
ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the cursor is over the button and it has been selected. |
static final String |
SELECTED_ICON_CHANGED_PROPERTY |
Identifies a change to the icon used when the button has been selected. |
static final String |
TEXT_CHANGED_PROPERTY |
Identifies a change in the button's text. |
static final String |
VERTICAL_ALIGNMENT_CHANGED_PROPERTY |
Identifies a change in the button's vertical alignment. |
static final String |
VERTICAL_TEXT_POSITION_CHANGED_PROPERTY |
Identifies a change in the button's vertical text position. |
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
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Modifier | Constructor | Description |
---|---|---|
protected |
Constructor for subclasses to call. |
Modifier and Type | Method | Description |
---|---|---|
protected void |
actionPropertyChanged |
Updates the button's state in response to property changes in the associated action. |
void |
addActionListener |
Adds an ActionListener to the button. |
void |
addChangeListener |
Adds a ChangeListener to the button. |
protected void |
addImpl |
Adds the specified component to this container at the specified index, refer to Container.addImpl(Component, Object, int) for a complete description of this method. |
void |
addItemListener |
Adds an ItemListener to the checkbox . |
protected int |
checkHorizontalKey |
Verify that the key argument is a legal value for the horizontalAlignment and horizontalTextPosition properties. |
protected int |
checkVerticalKey |
Verify that the key argument is a legal value for the vertical properties. |
protected void |
configurePropertiesFromAction |
Sets the properties on this button to match those in the specified Action . |
protected ActionListener |
createActionListener() |
Returns ActionListener that is added to model. |
protected PropertyChangeListener |
createActionPropertyChangeListener |
Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties. |
protected ChangeListener |
createChangeListener() |
Subclasses that want to handle ChangeEvents differently can override this to return another ChangeListener implementation. |
protected ItemListener |
createItemListener() |
Returns ItemListener that is added to model. |
void |
doClick() |
Programmatically perform a "click". |
void |
doClick |
Programmatically perform a "click". |
protected void |
fireActionPerformed |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireItemStateChanged |
Notifies all listeners that have registered interest for notification on this event type. |
protected void |
fireStateChanged() |
Notifies all listeners that have registered interest for notification on this event type. |
Action |
getAction() |
Returns the currently set Action for this ActionEvent source, or null if no Action is set. |
String |
getActionCommand() |
Returns the action command for this button. |
ActionListener[] |
getActionListeners() |
Returns an array of all the 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. |
Insets |
getMargin() |
Returns the margin between the button's border and the label. |
int |
getMnemonic() |
Returns the keyboard mnemonic from the current model. |
ButtonModel |
getModel() |
Returns the model that this button represents. |
long |
getMultiClickThreshhold() |
Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. |
Icon |
getPressedIcon() |
Returns the pressed icon for the button. |
Icon |
getRolloverIcon() |
Returns the rollover icon for the button. |
Icon |
getRolloverSelectedIcon() |
Returns the rollover selection icon for the button. |
Icon |
getSelectedIcon() |
Returns the selected icon for the button. |
Object[] |
getSelectedObjects() |
Returns an array (length 1) containing the label or null if the button is not selected. |
String |
getText() |
Returns the button's text. |
ButtonUI |
getUI() |
Returns the L&F object that renders this component. |
int |
getVerticalAlignment() |
Returns the vertical alignment of the text and icon. |
int |
getVerticalTextPosition() |
Returns the vertical position of the text relative to the icon. |
boolean |
imageUpdate |
If the button icon for the current button state is either null or not an ImageIcon with an Image equal to the passed in Image , return false ; otherwise it will delegate to the super-class. |
protected void |
init |
Initialization of the AbstractButton . |
boolean |
isBorderPainted() |
Gets the borderPainted property. |
boolean |
isContentAreaFilled() |
Gets the contentAreaFilled property. |
boolean |
isFocusPainted() |
Gets the paintFocus property. |
boolean |
isRolloverEnabled() |
Gets the rolloverEnabled property. |
boolean |
isSelected() |
Returns the state of the button. |
protected void |
paintBorder |
Paint the button's border if BorderPainted property is true and the button has a border. |
protected String |
paramString() |
Returns a string representation of this AbstractButton . |
void |
removeActionListener |
Removes an ActionListener from the button. |
void |
removeChangeListener |
Removes a ChangeListener from the button. |
void |
removeItemListener |
Removes an ItemListener from the button. |
void |
removeNotify() |
Notifies this component that it no longer has a parent component. |
void |
setAction |
Sets the Action . |
void |
setActionCommand |
Sets the action command for this button. |
void |
setBorderPainted |
Sets the borderPainted property. |
void |
setContentAreaFilled |
Sets the contentAreaFilled property. |
void |
setDisabledIcon |
Sets the disabled icon for the button. |
void |
setDisabledSelectedIcon |
Sets the disabled selection icon for the button. |
void |
setDisplayedMnemonicIndex |
Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic. |
void |
setEnabled |
Enables (or disables) the button. |
void |
setFocusPainted |
Sets the paintFocus property, which must be true for the focus state to be painted. |
void |
setHideActionText |
Sets the hideActionText property, which determines whether the button displays text from the Action . |
void |
setHorizontalAlignment |
Sets the horizontal alignment of the icon and text. |
void |
setHorizontalTextPosition |
Sets the horizontal position of the text relative to the icon. |
void |
setIcon |
Sets the button's default icon. |
void |
setIconTextGap |
If both the icon and text properties are set, this property defines the space between them. |
void |
setLabel |
Deprecated. - Replaced by setText(text)
|
void |
setLayout |
Sets the layout manager for this container, refer to Container.setLayout(LayoutManager) for a complete description of this method. |
void |
setMargin |
Sets space for margin between the button's border and the label. |
void |
setMnemonic |
This method is now obsolete, please use setMnemonic(int) to set the mnemonic for a button. |
void |
setMnemonic |
Sets the keyboard mnemonic on the current model. |
void |
setModel |
Sets the model that this button represents. |
void |
setMultiClickThreshhold |
Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. |
void |
setPressedIcon |
Sets the pressed icon for the button. |
void |
setRolloverEnabled |
Sets the rolloverEnabled property, which must be true for rollover effects to occur. |
void |
setRolloverIcon |
Sets the rollover icon for the button. |
void |
setRolloverSelectedIcon |
Sets the rollover selected icon for the button. |
void |
setSelected |
Sets the state of the button. |
void |
setSelectedIcon |
Sets the selected icon for the button. |
void |
setText |
Sets the button's text. |
void |
setUI |
Sets the L&F object that renders this component. |
void |
setVerticalAlignment |
Sets the vertical alignment of the icon and text. |
void |
setVerticalTextPosition |
Sets the vertical position of the text relative to the icon. |
void |
updateUI() |
Resets the UI property to a value from the current look and feel. |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
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".protected AbstractButton()
@BeanProperty(expert=true, description="Whether the text of the button should come from the <code>Action</code>.") public void setHideActionText(boolean hideActionText)
hideActionText
property, which determines whether the button displays text from the Action
. This is useful only if an Action
has been installed on the button.hideActionText
- true
if the button's text
property should not reflect that of the Action
; the default is false
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()
@BeanProperty(preferred=true, visualUpdate=true, description="The button\'s text.") public void setText(String text)
text
- the string used to set the textpublic 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 milliseconds@BeanProperty(visualUpdate=true, description="The space between the button\'s border and the label.") public void setMargin(Insets m)
null
will cause the button to use the default margin. The button's default Border
object will use this value to create the proper margin. However, if a non-default border is set on the button, it is that Border
object's responsibility to create the appropriate margin space (else this property will effectively be ignored).m
- the space between the border and the labelpublic Insets getMargin()
Insets
object specifying the margin between the botton's border and the labelpublic Icon getIcon()
Icon
@BeanProperty(visualUpdate=true, description="The button\'s default icon") public void setIcon(Icon defaultIcon)
defaultIcon
- the icon used as the default imagepublic Icon getPressedIcon()
pressedIcon
property@BeanProperty(visualUpdate=true, description="The pressed icon for the button.") public void setPressedIcon(Icon pressedIcon)
pressedIcon
- the icon used as the "pressed" imagepublic Icon getSelectedIcon()
selectedIcon
property@BeanProperty(visualUpdate=true, description="The selected icon for the button.") public void setSelectedIcon(Icon selectedIcon)
selectedIcon
- the icon used as the "selected" imagepublic Icon getRolloverIcon()
rolloverIcon
property@BeanProperty(visualUpdate=true, description="The rollover icon for the button.") public void setRolloverIcon(Icon rolloverIcon)
rolloverIcon
- the icon used as the "rollover" imagepublic Icon getRolloverSelectedIcon()
rolloverSelectedIcon
property@BeanProperty(visualUpdate=true, description="The rollover selected icon for the button.") public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
rolloverSelectedIcon
- the icon used as the "selected rollover" imagepublic Icon getDisabledIcon()
Some look and feels might not render the disabled Icon, in which case they will ignore this.
disabledIcon
property@BeanProperty(visualUpdate=true, description="The disabled icon for the button.") public void setDisabledIcon(Icon disabledIcon)
disabledIcon
- the icon used as the disabled imagepublic Icon getDisabledSelectedIcon()
getDisabledIcon()
otherwise. Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
disabledSelectedIcon
property@BeanProperty(visualUpdate=true, description="The disabled selection icon for the button.") public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
disabledSelectedIcon
- the icon used as the disabled selection imagepublic int getVerticalAlignment()
verticalAlignment
property, one of the following values: SwingConstants.CENTER
(the default) SwingConstants.TOP
SwingConstants.BOTTOM
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical alignment of the icon and text.") 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
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The horizontal alignment of the icon and text.") public void setHorizontalAlignment(int alignment)
AbstractButton
's default is SwingConstants.CENTER
, but subclasses such as JCheckBox
may use a different default.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
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical position of the text relative to the icon.") public void setVerticalTextPosition(int textPosition)
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) @BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The horizontal position of the text relative to the icon.") public void setHorizontalTextPosition(int textPosition)
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()
@BeanProperty(visualUpdate=true, description="If both the icon and text properties are set, this property defines the space between them.") public void setIconTextGap(int iconTextGap)
The default value of this property is 4 pixels.
This is a JavaBeans bound property.
iconTextGap
- the space between icon and text if these properties are set.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 aboveprotected 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 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
public void setActionCommand(String actionCommand)
actionCommand
- the action command for this buttonpublic String getActionCommand()
@BeanProperty(visualUpdate=true, description="the Action instance connected with this ActionEvent source") public void setAction(Action a)
Action
. The new Action
replaces any previously set Action
but does not affect ActionListeners
independently added with addActionListener
. If the Action
is already a registered ActionListener
for the button, it is not re-registered. Setting the Action
results in immediately changing all the properties described in Swing Components Supporting Action
. Subsequently, the button's properties are automatically updated as the Action
's properties change.
This method uses three other methods to set and help track the Action
's property values. It uses the configurePropertiesFromAction
method to immediately change the button's properties. To track changes in the Action
's property values, this method registers the PropertyChangeListener
returned by createActionPropertyChangeListener
. The default PropertyChangeListener
invokes the actionPropertyChanged
method when a property in the Action
changes.
a
- the Action
for the AbstractButton
, or null
public Action getAction()
Action
for this ActionEvent
source, or null
if no Action
is set.Action
for this ActionEvent
source, or null
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
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 changedprotected 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 actionPropertyChangeListener
public boolean isBorderPainted()
borderPainted
property.borderPainted
property@BeanProperty(visualUpdate=true, description="Whether the border should be painted.") public void setBorderPainted(boolean b)
borderPainted
property. If true
and the button has a border, the border is painted. The default value for the borderPainted
property is true
. Some look and feels might not support the borderPainted
property, in which case they ignore this.
b
- if true and border property is not null
, the border is paintedprotected 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 paintpublic boolean isFocusPainted()
paintFocus
property.paintFocus
property@BeanProperty(visualUpdate=true, description="Whether focus should be painted") public void setFocusPainted(boolean b)
paintFocus
property, which must be true
for the focus state to be painted. The default value for the paintFocus
property is true
. Some look and feels might not paint focus state; they will ignore this property.b
- if true
, the focus state should be paintedpublic boolean isContentAreaFilled()
contentAreaFilled
property.contentAreaFilled
property@BeanProperty(visualUpdate=true, description="Whether the button should paint the content area or leave it transparent.") public void setContentAreaFilled(boolean b)
contentAreaFilled
property. If true
the button will paint the content area. If you wish to have a transparent button, such as an icon only button, for example, then you should set this to false
. Do not call setOpaque(false)
. The default value for the contentAreaFilled
property is true
. This function may cause the component's opaque property to change.
The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.
b
- if true, the content should be filled; if false the content area is not filledpublic boolean isRolloverEnabled()
rolloverEnabled
property.rolloverEnabled
property@BeanProperty(visualUpdate=true, description="Whether rollover effects should be enabled.") public void setRolloverEnabled(boolean b)
rolloverEnabled
property, which must be true
for rollover effects to occur. The default value for the rolloverEnabled
property is false
. Some look and feels might not implement rollover effects; they will ignore this property.b
- if true
, rollover effects should be paintedpublic int getMnemonic()
@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") public void setMnemonic(int mnemonic)
A mnemonic must correspond to a single key on the keyboard and should be specified using one of the VK_XXX
keycodes defined in java.awt.event.KeyEvent
. These codes and the wider array of codes for international keyboards may be obtained through java.awt.event.KeyEvent.getExtendedKeyCodeForChar
. Mnemonics are case-insensitive, therefore a key event with the corresponding keycode would cause the button to be activated whether or not the Shift modifier was pressed.
If the character defined by the mnemonic is found within the button's label string, the first occurrence of it will be underlined to indicate the mnemonic to the user.
mnemonic
- the key code which represents the mnemonic@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") public void setMnemonic(char mnemonic)
setMnemonic(int)
to set the mnemonic for a button. This method is only designed to handle character values which fall between 'a' and 'z' or 'A' and 'Z'.mnemonic
- a char specifying the mnemonic value@BeanProperty(visualUpdate=true, description="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException
The value of this is updated as the properties relating to the mnemonic change (such as the mnemonic itself, the text...). You should only ever have to call this if you do not wish the default character to be underlined. For example, if the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A' to be decorated, as 'Save As', you would have to invoke setDisplayedMnemonicIndex(5)
after invoking setMnemonic(KeyEvent.VK_A)
.
index
- Index into the String to underlineIllegalArgumentException
- will be thrown if index
is >= length of the text, or < -1public int getDisplayedMnemonicIndex()
public void setMultiClickThreshhold(long threshold)
threshold
- the amount of time required between mouse press events to generate corresponding action eventsIllegalArgumentException
- if threshold < 0public long getMultiClickThreshhold()
public ButtonModel getModel()
model
property@BeanProperty(description="Model that the Button uses.") public void setModel(ButtonModel newModel)
newModel
- the new ButtonModel
public ButtonUI getUI()
getUI
in class JComponent
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the LookAndFeel.") public void setUI(ButtonUI ui)
ui
- the ButtonUI
L&F objectpublic 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
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 containerpublic void setLayout(LayoutManager mgr)
Container.setLayout(LayoutManager)
for a complete description of this method.public void addChangeListener(ChangeListener l)
ChangeListener
to the button.l
- the listener to be addedpublic void removeChangeListener(ChangeListener l)
l
- the listener to be removed@BeanProperty(bound=false) public 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()
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 removed@BeanProperty(bound=false) public 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
objectprotected void fireItemStateChanged(ItemEvent event)
event
parameter.event
- the ItemEvent
objectprotected ActionListener createActionListener()
ActionListener
that is added to model.ActionListener
protected ItemListener createItemListener()
ItemListener
that is added to model.ItemListener
public void setEnabled(boolean b)
setEnabled
in class JComponent
b
- true to enable the button, otherwise false@Deprecated public String getLabel()
getText
String
containing the label@Deprecated @BeanProperty(description="Replace by setText(text)") 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 addedpublic void removeItemListener(ItemListener l)
ItemListener
from the button.removeItemListener
in interface ItemSelectable
l
- the ItemListener
to be removed@BeanProperty(bound=false) public ItemListener[] getItemListeners()
ItemListener
s added to this AbstractButton with addItemListener().ItemListener
s added or an empty array if no listeners have been added@BeanProperty(bound=false) public Object[] getSelectedObjects()
null
if the button is not selected.getSelectedObjects
in interface ItemSelectable
null
protected void init(String text, Icon icon)
AbstractButton
.text
- the text of the buttonicon
- the Icon image to display on the buttonpublic boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
null
or not an ImageIcon
with an Image
equal to the passed in Image
, return false
; otherwise it will delegate to the super-class.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.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
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/AbstractButton.html
getText