AbstractButton (Java Platform SE 6)
javax.swing
Class AbstractButton
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent 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.
Buttons can be configured, and to some degree controlled, by
Actions. Using an
Action with a button has many benefits beyond directly
configuring a button. Refer to
Swing Components Supporting Action for more
details, and you can find more information in How
to Use Actions, a section in The Java Tutorial.
For further information see How to Use Buttons, Check Boxes, and Radio Buttons, a section in The Java Tutorial.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
| 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.BaselineResizeBehavior, 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 | |
|---|---|
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 ActionListeners added
to this AbstractButton with addActionListener(). |
ChangeListener[] |
getChangeListeners()
Returns an array of all the ChangeListeners added
to this AbstractButton with addChangeListener(). |
Icon |
getDisabledIcon()
Returns the icon used by the button when it's disabled. |
Icon |
getDisabledSelectedIcon()
Returns the icon used by the button when it's disabled and selected. |
int |
getDisplayedMnemonicIndex()
Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character. |
boolean |
getHideActionText()
Returns the value of the 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 ItemListeners added
to this AbstractButton with addItemListener(). |
String |
getLabel()
Deprecated. - Replaced by getText |
Insets |
getMargin()
Returns the margin between the button's border and the label. |
int |
getMnemonic()
Returns the keyboard mnemonic from the the current model. |
ButtonModel |
getModel()
Returns the model that this button represents. |
long |
getMultiClickThreshhold()
Gets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events. |
Icon |
getPressedIcon()
Returns the pressed icon for the button. |
Icon |
getRolloverIcon()
Returns the rollover icon for the button. |
Icon |
getRolloverSelectedIcon()
Returns the rollover selection icon for the button. |
Icon |
getSelectedIcon()
Returns the selected icon for the button. |
Object[] |
getSelectedObjects()
Returns an array (length 1) containing the label or 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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
MODEL_CHANGED_PROPERTY
public static final String MODEL_CHANGED_PROPERTY
- Identifies a change in the button model.
- 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
MNEMONIC_CHANGED_PROPERTY
public static final String MNEMONIC_CHANGED_PROPERTY
- Identifies a change to the button's mnemonic.
- See Also:
- Constant Field Values
MARGIN_CHANGED_PROPERTY
public static final String MARGIN_CHANGED_PROPERTY
- Identifies a change in the button's margins.
- 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
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
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
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
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
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
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
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
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
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
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
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
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
model
protected ButtonModel model
- The data model that determines the button's state.
changeListener
protected ChangeListener changeListener
- The button model's
changeListener.
actionListener
protected ActionListener actionListener
- The button model's
ActionListener.
itemListener
protected ItemListener itemListener
- The button model's
ItemListener.
changeEvent
protected transient ChangeEvent changeEvent
- Only one
ChangeEventis needed per button instance since the event's only state is the source property. The source of events generated is always "this".
| Constructor Detail |
|---|
AbstractButton
public AbstractButton()
| Method Detail |
|---|
setHideActionText
public void setHideActionText(boolean hideActionText)
- Sets the
hideActionTextproperty, which determines whether the button displays text from theAction. This is useful only if anActionhas been installed on the button. - Parameters:
hideActionText-trueif the button'stextproperty should not reflect that of theAction; the default isfalse- Since:
- 1.6
- See Also:
- Swing Components Supporting
Action
getHideActionText
public boolean getHideActionText()
- Returns the value of the
hideActionTextproperty, which determines whether the button displays text from theAction. This is useful only if anActionhas been installed on the button. - Returns:
trueif the button'stextproperty should not reflect that of theAction; the default isfalse- Since:
- 1.6
getText
public String getText()
- Returns the button's text.
- Returns:
- the buttons text
- See Also:
setText(java.lang.String)
setText
public void setText(String text)
- Sets the button's text.
- Parameters:
text- the string used to set the text- See Also:
getText()
isSelected
public boolean isSelected()
- Returns the state of the button. True if the
toggle button is selected, false if it's not.
- Returns:
- true if the toggle button is selected, otherwise false
setSelected
public void setSelected(boolean b)
- Sets the state of the button. Note that this method does not
trigger an
actionEvent. CalldoClickto perform a programatic action change. - Parameters:
b- true if the button is selected, otherwise false
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
pressTimemilliseconds. - Parameters:
pressTime- the time to "hold down" the button, in milliseconds
setMargin
public void setMargin(Insets m)
- Sets space for margin between the button's border and
the label. Setting to
nullwill cause the button to use the default margin. The button's defaultBorderobject will use this value to create the proper margin. However, if a non-default border is set on the button, it is thatBorderobject's responsibility to create the appropriate margin space (else this property will effectively be ignored). - Parameters:
m- the space between the border and the label
getMargin
public Insets getMargin()
- Returns the margin between the button's border and
the label.
- Returns:
- an
Insetsobject specifying the margin between the botton's border and the label - See Also:
setMargin(java.awt.Insets)
getIcon
public Icon getIcon()
- Returns the default icon.
- Returns:
- the default
Icon - See Also:
setIcon(javax.swing.Icon)
setIcon
public void setIcon(Icon defaultIcon)
- Sets the button's default icon. This icon is
also used as the "pressed" and "disabled" icon if
there is no explicitly set pressed icon.
- Parameters:
defaultIcon- the icon used as the default image- See Also:
getIcon(),setPressedIcon(javax.swing.Icon)
getPressedIcon
public Icon getPressedIcon()
- Returns the pressed icon for the button.
- Returns:
- the
pressedIconproperty - See Also:
setPressedIcon(javax.swing.Icon)
setPressedIcon
public void setPressedIcon(Icon pressedIcon)
- Sets the pressed icon for the button.
- Parameters:
pressedIcon- the icon used as the "pressed" image- See Also:
getPressedIcon()
getSelectedIcon
public Icon getSelectedIcon()
- Returns the selected icon for the button.
- Returns:
- the
selectedIconproperty - See Also:
setSelectedIcon(javax.swing.Icon)
setSelectedIcon
public void setSelectedIcon(Icon selectedIcon)
- Sets the selected icon for the button.
- Parameters:
selectedIcon- the icon used as the "selected" image- See Also:
getSelectedIcon()
getRolloverIcon
public Icon getRolloverIcon()
- Returns the rollover icon for the button.
- Returns:
- the
rolloverIconproperty - See Also:
setRolloverIcon(javax.swing.Icon)
setRolloverIcon
public void setRolloverIcon(Icon rolloverIcon)
- Sets the rollover icon for the button.
- Parameters:
rolloverIcon- the icon used as the "rollover" image- See Also:
getRolloverIcon()
getRolloverSelectedIcon
public Icon getRolloverSelectedIcon()
- Returns the rollover selection icon for the button.
- Returns:
- the
rolloverSelectedIconproperty - See Also:
setRolloverSelectedIcon(javax.swing.Icon)
setRolloverSelectedIcon
public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
- Sets the rollover selected icon for the button.
- Parameters:
rolloverSelectedIcon- the icon used as the "selected rollover" image- See Also:
getRolloverSelectedIcon()
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
disabledIconproperty - See Also:
getPressedIcon(),setDisabledIcon(javax.swing.Icon),LookAndFeel.getDisabledIcon(javax.swing.JComponent, javax.swing.Icon)
setDisabledIcon
public void setDisabledIcon(Icon disabledIcon)
- Sets the disabled icon for the button.
- Parameters:
disabledIcon- the icon used as the disabled image- See Also:
getDisabledIcon()
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
disabledSelectedIconproperty - See Also:
getDisabledIcon(),setDisabledSelectedIcon(javax.swing.Icon),LookAndFeel.getDisabledSelectedIcon(javax.swing.JComponent, javax.swing.Icon)
setDisabledSelectedIcon
public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
- Sets the disabled selection icon for the button.
- Parameters:
disabledSelectedIcon- the icon used as the disabled selection image- See Also:
getDisabledSelectedIcon()
getVerticalAlignment
public int getVerticalAlignment()
- Returns the vertical alignment of the text and icon.
- Returns:
- the
verticalAlignmentproperty, one of the following values:SwingConstants.CENTER(the default)SwingConstants.TOPSwingConstants.BOTTOM
setVerticalAlignment
public void setVerticalAlignment(int alignment)
- Sets the vertical alignment of the icon and text.
- Parameters:
alignment- one of the following values:SwingConstants.CENTER(the default)SwingConstants.TOPSwingConstants.BOTTOM
- Throws:
IllegalArgumentException- if the alignment is not one of the legal values listed above
getHorizontalAlignment
public int getHorizontalAlignment()
- Returns the horizontal alignment of the icon and text.
AbstractButton's default isSwingConstants.CENTER, but subclasses such asJCheckBoxmay use a different default. - Returns:
- the
horizontalAlignmentproperty, one of the following values:SwingConstants.RIGHTSwingConstants.LEFTSwingConstants.CENTERSwingConstants.LEADINGSwingConstants.TRAILING
setHorizontalAlignment
public void setHorizontalAlignment(int alignment)
- Sets the horizontal alignment of the icon and text.
AbstractButton's default isSwingConstants.CENTER, but subclasses such asJCheckBoxmay use a different default. - Parameters:
alignment- the alignment value, one of the following values:SwingConstants.RIGHTSwingConstants.LEFTSwingConstants.CENTERSwingConstants.LEADINGSwingConstants.TRAILING
- Throws:
IllegalArgumentException- if the alignment is not one of the valid values
getVerticalTextPosition
public int getVerticalTextPosition()
- Returns the vertical position of the text relative to the icon.
- Returns:
- the
verticalTextPositionproperty, one of the following values:SwingConstants.CENTER(the default)SwingConstants.TOPSwingConstants.BOTTOM
setVerticalTextPosition
public void setVerticalTextPosition(int textPosition)
- Sets the vertical position of the text relative to the icon.
- Parameters:
textPosition- one of the following values:SwingConstants.CENTER(the default)SwingConstants.TOPSwingConstants.BOTTOM
getHorizontalTextPosition
public int getHorizontalTextPosition()
- Returns the horizontal position of the text relative to the icon.
- Returns:
- the
horizontalTextPositionproperty, one of the following values:SwingConstants.RIGHTSwingConstants.LEFTSwingConstants.CENTERSwingConstants.LEADINGSwingConstants.TRAILING(the default)
setHorizontalTextPosition
public void setHorizontalTextPosition(int textPosition)
- Sets the horizontal position of the text relative to the icon.
- Parameters:
textPosition- one of the following values:SwingConstants.RIGHTSwingConstants.LEFTSwingConstants.CENTERSwingConstants.LEADINGSwingConstants.TRAILING(the default)
- Throws:
IllegalArgumentException- iftextPositionis not one of the legal values listed above
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)
setIconTextGap
public void setIconTextGap(int iconTextGap)
- If both the icon and text properties are set, this property
defines the space between them.
The default value of this property is 4 pixels.
This is a JavaBeans bound property.
- Since:
- 1.4
- See Also:
getIconTextGap()
checkHorizontalKey
protected int checkHorizontalKey(int key,
String exception)
- Verify that the
keyargument is a legal value for thehorizontalAlignmentandhorizontalTextPositionproperties. Valid values are:SwingConstants.RIGHTSwingConstants.LEFTSwingConstants.CENTERSwingConstants.LEADINGSwingConstants.TRAILING
- Parameters:
key- the property value to checkexception- the message to use in theIllegalArgumentExceptionthat is thrown for an invalid value- 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)
- Verify that the
keyargument is a legal value for the vertical properties. Valid values are:SwingConstants.CENTERSwingConstants.TOPSwingConstants.BOTTOM
- Parameters:
key- the property value to checkexception- the message to use in theIllegalArgumentExceptionthat is thrown for an invalid value- Throws:
IllegalArgumentException- if key is not one of the legal values listed above
removeNotify
public void removeNotify()
- Notifies this component that it no longer has a parent component.
When this method is invoked, any
KeyboardActions set up in the the chain of parent components are removed. - Overrides:
removeNotifyin classJComponent
setActionCommand
public void setActionCommand(String actionCommand)
- Sets the action command for this button.
- Parameters:
actionCommand- the action command for this button
getActionCommand
public String getActionCommand()
- Returns the action command for this button.
- Returns:
- the action command for this button
setAction
public void setAction(Action a)
- Sets the
Action. The newActionreplaces any previously setActionbut does not affectActionListenersindependently added withaddActionListener. If theActionis already a registeredActionListenerfor the button, it is not re-registered.Setting the
Actionresults in immediately changing all the properties described in Swing Components SupportingAction. Subsequently, the button's properties are automatically updated as theAction's properties change.This method uses three other methods to set and help track the
Action's property values. It uses theconfigurePropertiesFromActionmethod to immediately change the button's properties. To track changes in theAction's property values, this method registers thePropertyChangeListenerreturned bycreateActionPropertyChangeListener. The defaultPropertyChangeListenerinvokes theactionPropertyChangedmethod when a property in theActionchanges. - Parameters:
a- theActionfor theAbstractButton, ornull- Since:
- 1.3
- See Also:
Action,getAction(),configurePropertiesFromAction(javax.swing.Action),createActionPropertyChangeListener(javax.swing.Action),actionPropertyChanged(javax.swing.Action, java.lang.String)
getAction
public Action getAction()
- Returns the currently set
Actionfor thisActionEventsource, ornullif noActionis set. - Returns:
- the
Actionfor thisActionEventsource, ornull - Since:
- 1.3
- See Also:
Action,setAction(javax.swing.Action)
configurePropertiesFromAction
protected void configurePropertiesFromAction(Action a)
- Sets the properties on this button to match those in the specified
Action. Refer to Swing Components SupportingActionfor more details as to which properties this sets. - Parameters:
a- theActionfrom which to get the properties, ornull- Since:
- 1.3
- See Also:
Action,setAction(javax.swing.Action)
actionPropertyChanged
protected void actionPropertyChanged(Action action, String propertyName)
- Updates the button's state in response to property changes in the
associated action. This method is invoked from the
PropertyChangeListenerreturned fromcreateActionPropertyChangeListener. Subclasses do not normally need to invoke this. Subclasses that support additionalActionproperties should override this andconfigurePropertiesFromAction.Refer to the table at Swing Components Supporting
Actionfor a list of the properties this method sets. - Parameters:
action- theActionassociated with this buttonpropertyName- the name of the property that changed- Since:
- 1.6
- See Also:
Action,configurePropertiesFromAction(javax.swing.Action)
createActionPropertyChangeListener
protected PropertyChangeListener createActionPropertyChangeListener(Action a)
- Creates and returns a
PropertyChangeListenerthat is responsible for listening for changes from the specifiedActionand 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. - Parameters:
a- the button's action- Since:
- 1.3
- See Also:
- Actions,
Action,setAction(javax.swing.Action)
isBorderPainted
public boolean isBorderPainted()
- Gets the
borderPaintedproperty. - Returns:
- the value of the
borderPaintedproperty - See Also:
setBorderPainted(boolean)
setBorderPainted
public void setBorderPainted(boolean b)
- Sets the
borderPaintedproperty. Iftrueand the button has a border, the border is painted. The default value for theborderPaintedproperty istrue. - Parameters:
b- if true and border property is notnull, the border is painted- See Also:
isBorderPainted()
paintBorder
protected void paintBorder(Graphics g)
- Paint the button's border if
BorderPaintedproperty is true and the button has a border. - Overrides:
paintBorderin classJComponent
- Parameters:
g- theGraphicscontext in which to paint- See Also:
JComponent.paint(java.awt.Graphics),JComponent.setBorder(javax.swing.border.Border)
isFocusPainted
public boolean isFocusPainted()
- Gets the
paintFocusproperty. - Returns:
- the
paintFocusproperty - See Also:
setFocusPainted(boolean)
setFocusPainted
public void setFocusPainted(boolean b)
- Sets the
paintFocusproperty, which must betruefor the focus state to be painted. The default value for thepaintFocusproperty istrue. Some look and feels might not paint focus state; they will ignore this property. - Parameters:
b- iftrue, the focus state should be painted- See Also:
isFocusPainted()
isContentAreaFilled
public boolean isContentAreaFilled()
- Gets the
contentAreaFilledproperty. - Returns:
- the
contentAreaFilledproperty - See Also:
setContentAreaFilled(boolean)
setContentAreaFilled
public void setContentAreaFilled(boolean b)
- Sets the
contentAreaFilledproperty. Iftruethe 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 tofalse. Do not callsetOpaque(false). The default value for the thecontentAreaFilledproperty istrue.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.
- Parameters:
b- if true, the content should be filled; if false the content area is not filled- See Also:
isContentAreaFilled(),JComponent.setOpaque(boolean)
isRolloverEnabled
public boolean isRolloverEnabled()
- Gets the
rolloverEnabledproperty. - Returns:
- the value of the
rolloverEnabledproperty - See Also:
setRolloverEnabled(boolean)
setRolloverEnabled
public void setRolloverEnabled(boolean b)
- Sets the
rolloverEnabledproperty, which must betruefor rollover effects to occur. The default value for therolloverEnabledproperty isfalse. Some look and feels might not implement rollover effects; they will ignore this property. - Parameters:
b- iftrue, rollover effects should be painted- See Also:
isRolloverEnabled()
getMnemonic
public int getMnemonic()
- Returns the keyboard mnemonic from the the current model.
- Returns:
- the keyboard mnemonic from the model
setMnemonic
public void setMnemonic(int mnemonic)
- Sets the keyboard mnemonic on the current model.
The mnemonic is the key which when combined with the look and feel's
mouseless modifier (usually Alt) will activate this button
if focus is contained somewhere within this button's ancestor
window.
A mnemonic must correspond to a single key on the keyboard and should be specified using one of the
VK_XXXkeycodes defined injava.awt.event.KeyEvent. 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.
- Parameters:
mnemonic- the key code which represents the mnemonic- See Also:
KeyEvent,setDisplayedMnemonicIndex(int)
setMnemonic
public void setMnemonic(char mnemonic)
- This method is now obsolete, please use
setMnemonic(int)to set the mnemonic for a button. This method is only designed to handle character values which fall between 'a' and 'z' or 'A' and 'Z'. - Parameters:
mnemonic- a char specifying the mnemonic value- See Also:
setMnemonic(int)
setDisplayedMnemonicIndex
public void setDisplayedMnemonicIndex(int index)
throws IllegalArgumentException
- Provides a hint to the look and feel as to which character in the
text should be decorated to represent the mnemonic. Not all look and
feels may support this. A value of -1 indicates either there is no
mnemonic, the mnemonic character is not contained in the string, or
the developer does not wish the mnemonic to be displayed.
The value of this is updated as the properties relating to the mnemonic change (such as the mnemonic itself, the text...). You should only ever have to call this if you do not wish the default character to be underlined. For example, if the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A' to be decorated, as 'Save As', you would have to invoke
setDisplayedMnemonicIndex(5)after invokingsetMnemonic(KeyEvent.VK_A). - Parameters:
index- Index into the String to underline- Throws:
IllegalArgumentException- will be thrown ifindexis >= length of the text, or < -1- Since:
- 1.4
- See Also:
getDisplayedMnemonicIndex()
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)
setMultiClickThreshhold
public void setMultiClickThreshhold(long threshhold)
- Sets the amount of time (in milliseconds) required between
mouse press events for the button to generate the corresponding
action events. After the initial mouse press occurs (and action
event generated) any subsequent mouse press events which occur
on intervals less than the threshhold will be ignored and no
corresponding action event generated. By default the threshhold is 0,
which means that for each mouse press, an action event will be
fired, no matter how quickly the mouse clicks occur. In buttons
where this behavior is not desirable (for example, the "OK" button
in a dialog), this threshhold should be set to an appropriate
positive value.
- Parameters:
threshhold- the amount of time required between mouse press events to generate corresponding action events- Throws:
IllegalArgumentException- if threshhold < 0- Since:
- 1.4
- See Also:
getMultiClickThreshhold()
getMultiClickThreshhold
public long getMultiClickThreshhold()
- Gets the amount of time (in milliseconds) required between
mouse press events for the button to generate the corresponding
action events.
- Returns:
- the amount of time required between mouse press events to generate corresponding action events
- Since:
- 1.4
- See Also:
setMultiClickThreshhold(long)
getModel
public ButtonModel getModel()
- Returns the model that this button represents.
- Returns:
- the
modelproperty - See Also:
setModel(javax.swing.ButtonModel)
setModel
public void setModel(ButtonModel newModel)
- Sets the model that this button represents.
- Parameters:
newModel- the newButtonModel- See Also:
getModel()
getUI
public ButtonUI getUI()
- Returns the L&F object that renders this component.
- Returns:
- the ButtonUI object
- See Also:
setUI(javax.swing.plaf.ButtonUI)
setUI
public void setUI(ButtonUI ui)
- Sets the L&F object that renders this component.
- Parameters:
ui- theButtonUIL&F object- See Also:
getUI()
updateUI
public void updateUI()
- Resets the UI property to a value from the current look
and feel. Subtypes of
AbstractButtonshould override this to update the UI. For example,JButtonmight do the following:setUI((ButtonUI)UIManager.getUI( "ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this)); - Overrides:
updateUIin classJComponent
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. - Parameters:
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-1means append to the end- Throws:
IllegalArgumentException- ifindexis invalidIllegalArgumentException- if adding the container's parent to itselfIllegalArgumentException- 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
setLayout
public void setLayout(LayoutManager mgr)
- Sets the layout manager for this container, refer to
Container.setLayout(LayoutManager)for a complete description of this method. - Parameters:
mgr- the specified layout manager- Since:
- 1.5
- See Also:
Container.doLayout(),Container.getLayout()
addChangeListener
public void addChangeListener(ChangeListener l)
- Adds a
ChangeListenerto the button. - Parameters:
l- the listener to be added
removeChangeListener
public void removeChangeListener(ChangeListener l)
- Removes a ChangeListener from the button.
- Parameters:
l- the listener to be removed
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
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
addActionListener
public void addActionListener(ActionListener l)
- Adds an
ActionListenerto the button. - Parameters:
l- theActionListenerto be added
removeActionListener
public void removeActionListener(ActionListener l)
- Removes an
ActionListenerfrom the button. If the listener is the currently setActionfor the button, then theActionis set tonull. - Parameters:
l- the listener to be removed
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
createChangeListener
protected ChangeListener createChangeListener()
- Subclasses that want to handle
ChangeEventsdifferently can override this to return anotherChangeListenerimplementation. - Returns:
- the new
ChangeListener
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
eventparameter. - Parameters:
event- theActionEventobject- 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
eventparameter. - Parameters:
event- theItemEventobject- See Also:
EventListenerList
createActionListener
protected ActionListener createActionListener()
createItemListener
protected ItemListener createItemListener()
setEnabled
public void setEnabled(boolean b)
- Enables (or disables) the button.
- Overrides:
setEnabledin classJComponent
- Parameters:
b- true to enable the button, otherwise false- See Also:
Component.isEnabled(),Component.isLightweight()
getLabel
@Deprecated public String getLabel()
- Deprecated. - Replaced by
getText - Returns the label text.
- Returns:
- a
Stringcontaining the label
setLabel
@Deprecated public void setLabel(String label)
- Deprecated. - Replaced by
setText(text) - Sets the label text.
- Parameters:
label- aStringcontaining the text
addItemListener
public void addItemListener(ItemListener l)
- Adds an
ItemListenerto thecheckbox. - Specified by:
addItemListenerin interfaceItemSelectable
- Parameters:
l- theItemListenerto be added- See Also:
ItemEvent
removeItemListener
public void removeItemListener(ItemListener l)
- Removes an
ItemListenerfrom the button. - Specified by:
removeItemListenerin interfaceItemSelectable
- Parameters:
l- theItemListenerto be removed- See Also:
ItemEvent
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
getSelectedObjects
public Object[] getSelectedObjects()
- Returns an array (length 1) containing the label or
nullif the button is not selected. - Specified by:
getSelectedObjectsin interfaceItemSelectable
- Returns:
- an array containing 1 Object: the text of the button,
if the item is selected; otherwise
null
init
protected void init(String text, Icon icon)
imageUpdate
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
- This is overridden to return false if the current
Icon'sImageis not equal to the passed inImageimg. - Specified by:
imageUpdatein interfaceImageObserver- Overrides:
imageUpdatein classComponent
- Parameters:
img- theImageto 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 height- Returns:
falseif the infoflags indicate that the image is completely loaded;trueotherwise.- See Also:
ImageObserver,Component.imageUpdate(java.awt.Image, int, int, int, int, int)
paramString
protected String paramString()
- Returns a string representation of this
AbstractButton. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull.Overriding
paramStringto provide information about the specific new aspects of the JFC components. - Overrides:
paramStringin classJComponent
- Returns:
- a string representation of this
AbstractButton
Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.