is new.
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
public abstract class AbstractButton
Defines common behaviors for buttons and menu items.
For further information see
How to Use Buttons, Check Boxes, and Radio Buttons
, a section in The Java Tutorial.
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 TM 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 | |
|---|---|
| void |
addActionListener
(
ActionListener
l) Adds an ActionListener to the button. |
| void |
addChangeListener
(
ChangeListener
l) Adds a ChangeListener to the button. |
| protected void |
addImpl
(
Component
comp,
Object
constraints, int index) Adds the specified component to this container at the specified index, refer to Container.addImpl(Component, Object, int) for a complete description of this method. |
| void |
addItemListener
(
ItemListener
l) Adds an ItemListener to the checkbox. |
| protected int |
checkHorizontalKey
(int key,
String
exception) Verify that key is a legal value for the horizontalAlignment properties. |
| protected int |
checkVerticalKey
(int key,
String
exception) Ensures that the key is a valid. |
| protected void |
configurePropertiesFromAction
(
Action
Sets
on this button
match those in
specified Action.
|
| protected ActionListener |
createActionListener
() |
| protected PropertyChangeListener |
createActionPropertyChangeListener
(
Action
Creates and returns a
that is responsible for listening for changes from
specified
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
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 |
|---|
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
protected ActionListener actionListener
protected ItemListener itemListener
protected transient ChangeEvent changeEvent
| Constructor Detail |
|---|
public AbstractButton()
| Method Detail |
|---|
setHideActionText
public void
setHideActionText
(boolean hideActionText)
Sets the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.
Parameters:
hideActionText - true if the button's text property should not reflect that of the Action; the default is false
Since:
1.6
See Also:
Swing Components Supporting Action
getHideActionText
public boolean
getHideActionText
()
Returns the value of the hideActionText property, which determines whether the button displays text from the Action. This is useful only if an Action has been installed on the button.
Returns:
true if the button's text property should not reflect that of the Action; the default is false
Since:
1.6
public String getText()
public void setText(String text)
public boolean isSelected()
public void setSelected(boolean b)
public void doClick()
public void doClick(int pressTime)
public void setMargin(Insets m)
public Insets getMargin()
public Icon getIcon()
public void setIcon(Icon defaultIcon)
public Icon getPressedIcon()
public void setPressedIcon(Icon pressedIcon)
public Icon getSelectedIcon()
public void setSelectedIcon(Icon selectedIcon)
public Icon getRolloverIcon()
public void setRolloverIcon(Icon rolloverIcon)
public Icon getRolloverSelectedIcon()
public void setRolloverSelectedIcon(Icon rolloverSelectedIcon)
public Icon getDisabledIcon()
Some look and feels might not render the disabled Icon, in which case they will ignore this.
public void setDisabledIcon(Icon disabledIcon)
public Icon getDisabledSelectedIcon()
Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
public void setDisabledSelectedIcon(Icon disabledSelectedIcon)
public int getVerticalAlignment()
public void setVerticalAlignment(int alignment)
public int getHorizontalAlignment()
public void setHorizontalAlignment(int alignment)
public int getVerticalTextPosition()
public void setVerticalTextPosition(int textPosition)
public int getHorizontalTextPosition()
public void setHorizontalTextPosition(int textPosition)
public int getIconTextGap()
public void setIconTextGap(int iconTextGap)
The default value of this property is 4 pixels.
This is a JavaBeans bound property.
protected int checkHorizontalKey(int key,
String exception)
protected int checkVerticalKey(int key,
String exception)
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:
removeNotify
in class
JComponent
Since:
1.6
See Also:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
public void setActionCommand(String actionCommand)
public String getActionCommand()
public void setAction(Action a)
Sets the Action.
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.
A side-effect of setting the Action is that the ActionEvent source's properties are immediately set from the values in the Action (performed by the method configurePropertiesFromAction) and subsequently updated as the Action's properties change (via a PropertyChangeListener created by the method createActionPropertyChangeListener.
This method uses two 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.
public Action getAction()
protected void configurePropertiesFromAction(Action a)
Sets the properties on this button to match those in the specified Action. Refer to
Swing Components Supporting Action
for more details as to which properties this sets.
If the Action passed in is null, the following things will occur:
protected PropertyChangeListener createActionPropertyChangeListener(Action a)
Creates and returns a PropertyChangeListener that is responsible for listening for changes from the specified Action and updating the appropriate properties.
Warning:
If you subclass this do not create an anonymous inner class. If you do the lifetime of the button will be tied to that of the Action.
Note that PropertyChangeListeners should avoid holding strong references to the ActionEvent source, as this may hinder garbage collection of the ActionEvent source and all components in its containment hierarchy.
button's
Actions
,
Action
,
setAction(javax.swing.Action)
public boolean isBorderPainted()
public void setBorderPainted(boolean b)
protected void paintBorder(Graphics g)
public boolean isFocusPainted()
public void setFocusPainted(boolean b)
public boolean isContentAreaFilled()
public void setContentAreaFilled(boolean b)
This function may cause the component's opaque property to change.
The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.
public boolean isRolloverEnabled()
public void setRolloverEnabled(boolean b)
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. Mnemonics are case-insensitive, therefore a key event with the corresponding keycode would cause the button to be activated whether or not the Shift modifier was pressed.
If the character defined by the mnemonic is found within the button's label string, the first occurrence of it will be underlined to indicate the mnemonic to the user.
public void setMnemonic(char mnemonic)
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 A s', you would have to invoke setDisplayedMnemonicIndex(5) after invoking setMnemonic(KeyEvent.VK_A).
public int getDisplayedMnemonicIndex()
public void setMultiClickThreshhold(long threshhold)
public long getMultiClickThreshhold()
public ButtonModel getModel()
public void setModel(ButtonModel newModel)
public ButtonUI getUI()
public void setUI(ButtonUI ui)
public void updateUI()
setUI((ButtonUI)UIManager.getUI(
"ButtonUI", "javax.swing.plaf.basic.BasicButtonUI", this));
protected void addImpl(Component comp,
Object constraints,
int index)
public void setLayout(LayoutManager mgr)
public void addChangeListener(ChangeListener l)
public void removeChangeListener(ChangeListener l)
public ChangeListener[] getChangeListeners()
protected void fireStateChanged()
public void addActionListener(ActionListener l)
public void removeActionListener(ActionListener l)
public ActionListener[] getActionListeners()
protected ChangeListener createChangeListener()
protected void fireActionPerformed(ActionEvent event)
protected void fireItemStateChanged(ItemEvent event)
protected ActionListener createActionListener()
protected ItemListener createItemListener()
public void setEnabled(boolean b)
@Deprecated public String getLabel()
@Deprecated public void setLabel(String label)
public void addItemListener(ItemListener l)
public void removeItemListener(ItemListener l)
public ItemListener[] getItemListeners()
public Object[] getSelectedObjects()
protected void init(String text,
Icon icon)
public boolean imageUpdate(Image img,
int infoflags,
int x,
int y,
int w,
int h)
protected String paramString()
Overriding paramString to provide information about the specific new aspects of the JFC components.