Class AbstractButton
- All Implemented Interfaces:
- ImageObserver,- ItemSelectable,- MenuContainer,- Serializable,- SwingConstants
- Direct Known Subclasses:
- JButton,- JMenuItem,- JToggleButton
 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 JavaBeans
 has been added to the java.beans package.
 Please see XMLEncoder.
- Since:
- 1.2
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected classThis class implements accessibility support for theAbstractButtonclass.protected classExtendsChangeListenerto be serializable.Nested classes/interfaces declared in class javax.swing.JComponentJComponent.AccessibleJComponentNested classes/interfaces declared in class java.awt.ContainerContainer.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected ActionListenerThe button model'sActionListener.static final StringIdentifies a change to having the border drawn, or having it not drawn.protected ChangeEventOnly oneChangeEventis needed per button instance since the event's only state is the source property.protected ChangeListenerThe button model'schangeListener.static final StringIdentifies a change to having the button paint the content area.static final StringIdentifies a change to the icon used when the button has been disabled.static final StringIdentifies a change to the icon used when the button has been disabled and selected.static final StringIdentifies a change to having the border highlighted when focused, or not.static final StringIdentifies a change in the button's horizontal alignment.static final StringIdentifies a change in the button's horizontal text position.static final StringIdentifies a change to the icon that represents the button.protected ItemListenerThe button model'sItemListener.static final StringIdentifies a change in the button's margins.static final StringIdentifies a change to the button's mnemonic.protected ButtonModelThe data model that determines the button's state.static final StringIdentifies a change in the button model.static final StringIdentifies a change to the icon used when the button has been pressed.static final StringIdentifies a change from rollover enabled to disabled or back to enabled.static final StringIdentifies a change to the icon used when the cursor is over the button.static final StringIdentifies a change to the icon used when the cursor is over the button and it has been selected.static final StringIdentifies a change to the icon used when the button has been selected.static final StringIdentifies a change in the button's text.static final StringIdentifies a change in the button's vertical alignment.static final StringIdentifies a change in the button's vertical text position.Fields declared in class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields declared in class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields declared in interface javax.swing.SwingConstantsBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidactionPropertyChanged(Action action, String propertyName) Updates the button's state in response to property changes in the associated action.voidAdds anActionListenerto the button.voidAdds aChangeListenerto the button.protected voidAdds the specified component to this container at the specified index, refer toContainer.addImpl(Component, Object, int)for a complete description of this method.voidAdds anItemListenerto thecheckbox.protected intcheckHorizontalKey(int key, String exception) Verify that thekeyargument is a legal value for thehorizontalAlignmentandhorizontalTextPositionproperties.protected intcheckVerticalKey(int key, String exception) Verify that thekeyargument is a legal value for the vertical properties.protected voidSets the properties on this button to match those in the specifiedAction.protected ActionListenerReturnsActionListenerthat is added to model.protected PropertyChangeListenerCreates and returns aPropertyChangeListenerthat is responsible for listening for changes from the specifiedActionand updating the appropriate properties.protected ChangeListenerSubclasses that want to handleChangeEventsdifferently can override this to return anotherChangeListenerimplementation.protected ItemListenerReturnsItemListenerthat is added to model.voiddoClick()Programmatically perform a "click".voiddoClick(int pressTime) Programmatically perform a "click".protected voidfireActionPerformed(ActionEvent event) Notifies all listeners that have registered interest for notification on this event type.protected voidfireItemStateChanged(ItemEvent event) Notifies all listeners that have registered interest for notification on this event type.protected voidNotifies all listeners that have registered interest for notification on this event type.Returns the currently setActionfor thisActionEventsource, ornullif noActionis set.Returns the action command for this button.Returns an array of all theActionListeners added to this AbstractButton with addActionListener().Returns an array of all theChangeListeners added to this AbstractButton with addChangeListener().Returns the icon used by the button when it's disabled.Returns the icon used by the button when it's disabled and selected.intReturns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.booleanReturns the value of thehideActionTextproperty, which determines whether the button displays text from theAction.intReturns the horizontal alignment of the icon and text.intReturns the horizontal position of the text relative to the icon.getIcon()Returns the default icon.intReturns the amount of space between the text and the icon displayed in this button.Returns an array of all theItemListeners added to this AbstractButton with addItemListener().getLabel()Deprecated.Returns the margin between the button's border and the label.intReturns the keyboard mnemonic from the current model.getModel()Returns the model that this button represents.longGets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.Returns the pressed icon for the button.Returns the rollover icon for the button.Returns the rollover selection icon for the button.Returns the selected icon for the button.Object[]Returns an array (length 1) containing the label ornullif the button is not selected.getText()Returns the button's text.getUI()Returns the L&F object that renders this component.intReturns the vertical alignment of the text and icon.intReturns the vertical position of the text relative to the icon.booleanimageUpdate(Image img, int infoflags, int x, int y, int w, int h) If the button icon for the current button state is eithernullor not anImageIconwith anImageequal to the passed inImage, returnfalse; otherwise it will delegate to the super-class.protected voidInitialization of theAbstractButton.booleanGets theborderPaintedproperty.booleanGets thecontentAreaFilledproperty.booleanGets thepaintFocusproperty.booleanGets therolloverEnabledproperty.booleanReturns the state of the button.protected voidPaint the button's border ifBorderPaintedproperty is true and the button has a border.protected StringReturns a string representation of thisAbstractButton.voidRemoves anActionListenerfrom the button.voidRemoves a ChangeListener from the button.voidRemoves anItemListenerfrom the button.voidNotifies this component that it no longer has a parent component.voidSets theAction.voidsetActionCommand(String actionCommand) Sets the action command for this button.voidsetBorderPainted(boolean b) Sets theborderPaintedproperty.voidsetContentAreaFilled(boolean b) Sets thecontentAreaFilledproperty.voidsetDisabledIcon(Icon disabledIcon) Sets the disabled icon for the button.voidsetDisabledSelectedIcon(Icon disabledSelectedIcon) Sets the disabled selection icon for the button.voidsetDisplayedMnemonicIndex(int index) Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.voidsetEnabled(boolean b) Enables (or disables) the button.voidsetFocusPainted(boolean b) Sets thepaintFocusproperty, which must betruefor the focus state to be painted.voidsetHideActionText(boolean hideActionText) Sets thehideActionTextproperty, which determines whether the button displays text from theAction.voidsetHorizontalAlignment(int alignment) Sets the horizontal alignment of the icon and text.voidsetHorizontalTextPosition(int textPosition) Sets the horizontal position of the text relative to the icon.voidSets the button's default icon.voidsetIconTextGap(int iconTextGap) If both the icon and text properties are set, this property defines the space between them.voidDeprecated.- Replaced bysetText(text)voidsetLayout(LayoutManager mgr) Sets the layout manager for this container, refer toContainer.setLayout(LayoutManager)for a complete description of this method.voidSets space for margin between the button's border and the label.voidsetMnemonic(char mnemonic) This method is now obsolete, please usesetMnemonic(int)to set the mnemonic for a button.voidsetMnemonic(int mnemonic) Sets the keyboard mnemonic on the current model.voidsetModel(ButtonModel newModel) Sets the model that this button represents.voidsetMultiClickThreshhold(long threshold) Sets the amount of time (in milliseconds) required between mouse press events for the button to generate the corresponding action events.voidsetPressedIcon(Icon pressedIcon) Sets the pressed icon for the button.voidsetRolloverEnabled(boolean b) Sets therolloverEnabledproperty, which must betruefor rollover effects to occur.voidsetRolloverIcon(Icon rolloverIcon) Sets the rollover icon for the button.voidsetRolloverSelectedIcon(Icon rolloverSelectedIcon) Sets the rollover selected icon for the button.voidsetSelected(boolean b) Sets the state of the button.voidsetSelectedIcon(Icon selectedIcon) Sets the selected icon for the button.voidSets the button's text.voidSets the L&F object that renders this component.voidsetVerticalAlignment(int alignment) Sets the vertical alignment of the icon and text.voidsetVerticalTextPosition(int textPosition) Sets the vertical position of the text relative to the icon.voidupdateUI()Resets the UI property to a value from the current look and feel.Methods declared in class javax.swing.JComponentaddAncestorListener, 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, updateMethods declared in class java.awt.Containeradd, 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, validateTreeMethods declared in class java.awt.Componentaction, 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
- 
Field Details- 
MODEL_CHANGED_PROPERTYIdentifies a change in the button model.- See Also:
 
- 
TEXT_CHANGED_PROPERTYIdentifies a change in the button's text.- See Also:
 
- 
MNEMONIC_CHANGED_PROPERTYIdentifies a change to the button's mnemonic.- See Also:
 
- 
MARGIN_CHANGED_PROPERTYIdentifies a change in the button's margins.- See Also:
 
- 
VERTICAL_ALIGNMENT_CHANGED_PROPERTYIdentifies a change in the button's vertical alignment.- See Also:
 
- 
HORIZONTAL_ALIGNMENT_CHANGED_PROPERTYIdentifies a change in the button's horizontal alignment.- See Also:
 
- 
VERTICAL_TEXT_POSITION_CHANGED_PROPERTYIdentifies a change in the button's vertical text position.- See Also:
 
- 
HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTYIdentifies a change in the button's horizontal text position.- See Also:
 
- 
BORDER_PAINTED_CHANGED_PROPERTYIdentifies a change to having the border drawn, or having it not drawn.- See Also:
 
- 
FOCUS_PAINTED_CHANGED_PROPERTYIdentifies a change to having the border highlighted when focused, or not.- See Also:
 
- 
ROLLOVER_ENABLED_CHANGED_PROPERTYIdentifies a change from rollover enabled to disabled or back to enabled.- See Also:
 
- 
CONTENT_AREA_FILLED_CHANGED_PROPERTYIdentifies a change to having the button paint the content area.- See Also:
 
- 
ICON_CHANGED_PROPERTYIdentifies a change to the icon that represents the button.- See Also:
 
- 
PRESSED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been pressed.- See Also:
 
- 
SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been selected.- See Also:
 
- 
ROLLOVER_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the cursor is over the button.- See Also:
 
- 
ROLLOVER_SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the cursor is over the button and it has been selected.- See Also:
 
- 
DISABLED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been disabled.- See Also:
 
- 
DISABLED_SELECTED_ICON_CHANGED_PROPERTYIdentifies a change to the icon used when the button has been disabled and selected.- See Also:
 
- 
modelThe data model that determines the button's state.
- 
changeListenerThe button model'schangeListener.
- 
actionListenerThe button model'sActionListener.
- 
itemListenerThe button model'sItemListener.
- 
changeEventOnly oneChangeEventis needed per button instance since the event's only state is the source property. The source of events generated is always "this".
 
- 
- 
Constructor Details- 
AbstractButtonprotected AbstractButton()Constructor for subclasses to call.
 
- 
- 
Method Details- 
setHideActionText@BeanProperty(expert=true, description="Whether the text of the button should come from the <code>Action</code>.") public void setHideActionText(boolean hideActionText) Sets thehideActionTextproperty, 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's- textproperty should not reflect that of the- Action; the default is- false
- Since:
- 1.6
- See Also:
 
- 
getHideActionTextpublic boolean getHideActionText()Returns the value of thehideActionTextproperty, which determines whether the button displays text from theAction. This is useful only if anActionhas been installed on the button.- Returns:
- trueif the button's- textproperty should not reflect that of the- Action; the default is- false
- Since:
- 1.6
 
- 
getText
- 
setText@BeanProperty(preferred=true, visualUpdate=true, description="The button's text.") public void setText(String text) Sets the button's text.- Parameters:
- text- the string used to set the text
- See Also:
 
- 
isSelectedpublic 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
 
- 
setSelectedpublic void setSelected(boolean b) Sets the state of the button. Note that this method does not trigger anactionEvent. CalldoClickto perform a programmatic action change.- Parameters:
- b- true if the button is selected, otherwise false
 
- 
doClickpublic void doClick()Programmatically perform a "click". This does the same thing as if the user had pressed and released the button.
- 
doClickpublic 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" forpressTimemilliseconds.- Parameters:
- pressTime- the time to "hold down" the button, in milliseconds
 
- 
setMargin@BeanProperty(visualUpdate=true, description="The space between the button's border and the label.") public void setMargin(Insets m) Sets space for margin between the button's border and the label. Setting tonullwill 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
 
- 
getMarginReturns 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:
 
- 
getIcon
- 
setIcon@BeanProperty(visualUpdate=true, description="The button's default icon") 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:
 
- 
getPressedIconReturns the pressed icon for the button.- Returns:
- the pressedIconproperty
- See Also:
 
- 
setPressedIcon@BeanProperty(visualUpdate=true, description="The pressed icon for the button.") public void setPressedIcon(Icon pressedIcon) Sets the pressed icon for the button.- Parameters:
- pressedIcon- the icon used as the "pressed" image
- See Also:
 
- 
getSelectedIconReturns the selected icon for the button.- Returns:
- the selectedIconproperty
- See Also:
 
- 
setSelectedIcon@BeanProperty(visualUpdate=true, description="The selected icon for the button.") public void setSelectedIcon(Icon selectedIcon) Sets the selected icon for the button.- Parameters:
- selectedIcon- the icon used as the "selected" image
- See Also:
 
- 
getRolloverIconReturns the rollover icon for the button.- Returns:
- the rolloverIconproperty
- See Also:
 
- 
setRolloverIcon@BeanProperty(visualUpdate=true, description="The rollover icon for the button.") public void setRolloverIcon(Icon rolloverIcon) Sets the rollover icon for the button.- Parameters:
- rolloverIcon- the icon used as the "rollover" image
- See Also:
 
- 
getRolloverSelectedIconReturns the rollover selection icon for the button.- Returns:
- the rolloverSelectedIconproperty
- See Also:
 
- 
setRolloverSelectedIcon@BeanProperty(visualUpdate=true, description="The rollover selected icon for the button.") 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:
 
- 
getDisabledIconReturns 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:
 
- 
setDisabledIcon@BeanProperty(visualUpdate=true, description="The disabled icon for the button.") public void setDisabledIcon(Icon disabledIcon) Sets the disabled icon for the button.- Parameters:
- disabledIcon- the icon used as the disabled image
- See Also:
 
- 
getDisabledSelectedIconReturns 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 togetDisabledIcon()otherwise.Some look and feels might not render the disabled selected Icon, in which case they will ignore this. - Returns:
- the disabledSelectedIconproperty
- See Also:
 
- 
setDisabledSelectedIcon@BeanProperty(visualUpdate=true, description="The disabled selection icon for the button.") 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:
 
- 
getVerticalAlignmentpublic int getVerticalAlignment()Returns the vertical alignment of the text and icon.- Returns:
- the verticalAlignmentproperty, one of the following values:- SwingConstants.CENTER(the default)
- SwingConstants.TOP
- SwingConstants.BOTTOM
 
 
- 
setVerticalAlignment@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical alignment of the icon and text.") 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.TOP
- SwingConstants.BOTTOM
 
- Throws:
- IllegalArgumentException- if the alignment is not one of the legal values listed above
 
- 
getHorizontalAlignmentpublic 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.RIGHT
- SwingConstants.LEFT
- SwingConstants.CENTER
- SwingConstants.LEADING
- SwingConstants.TRAILING
 
 
- 
setHorizontalAlignment@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) 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.RIGHT
- SwingConstants.LEFT
- SwingConstants.CENTER
- SwingConstants.LEADING
- SwingConstants.TRAILING
 
- Throws:
- IllegalArgumentException- if the alignment is not one of the valid values
 
- 
getVerticalTextPositionpublic 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.TOP
- SwingConstants.BOTTOM
 
 
- 
setVerticalTextPosition@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) Sets the vertical position of the text relative to the icon.- Parameters:
- textPosition- one of the following values:- SwingConstants.CENTER(the default)
- SwingConstants.TOP
- SwingConstants.BOTTOM
 
 
- 
getHorizontalTextPositionpublic int getHorizontalTextPosition()Returns the horizontal position of the text relative to the icon.- Returns:
- the horizontalTextPositionproperty, one of the following values:- SwingConstants.RIGHT
- SwingConstants.LEFT
- SwingConstants.CENTER
- SwingConstants.LEADING
- SwingConstants.TRAILING(the default)
 
 
- 
setHorizontalTextPosition@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) Sets the horizontal position of the text relative to the icon.- Parameters:
- textPosition- one of the following values:- SwingConstants.RIGHT
- SwingConstants.LEFT
- SwingConstants.CENTER
- SwingConstants.LEADING
- SwingConstants.TRAILING(the default)
 
- Throws:
- IllegalArgumentException- if- textPositionis not one of the legal values listed above
 
- 
getIconTextGappublic 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@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) 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. - Parameters:
- iconTextGap- the space between icon and text if these properties are set.
- Since:
- 1.4
- See Also:
 
- 
checkHorizontalKeyVerify that thekeyargument is a legal value for thehorizontalAlignmentandhorizontalTextPositionproperties. Valid values are:- SwingConstants.RIGHT
- SwingConstants.LEFT
- SwingConstants.CENTER
- SwingConstants.LEADING
- SwingConstants.TRAILING
 - Parameters:
- key- the property value to check
- exception- the message to use in the- IllegalArgumentExceptionthat is thrown for an invalid value
- Returns:
- the keyargument
- Throws:
- IllegalArgumentException- if key is not one of the legal values listed above
- See Also:
 
- 
checkVerticalKeyVerify that thekeyargument is a legal value for the vertical properties. Valid values are:- SwingConstants.CENTER
- SwingConstants.TOP
- SwingConstants.BOTTOM
 - Parameters:
- key- the property value to check
- exception- the message to use in the- IllegalArgumentExceptionthat is thrown for an invalid value
- Returns:
- the keyargument
- Throws:
- IllegalArgumentException- if key is not one of the legal values listed above
 
- 
removeNotifypublic void removeNotify()Notifies this component that it no longer has a parent component. When this method is invoked, anyKeyboardActions 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.- Overrides:
- removeNotifyin class- JComponent
- Since:
- 1.6
- See Also:
 
- 
setActionCommandSets the action command for this button.- Parameters:
- actionCommand- the action command for this button
 
- 
getActionCommandReturns the action command for this button.- Returns:
- the action command for this button
 
- 
setAction@BeanProperty(visualUpdate=true, description="the Action instance connected with this ActionEvent source") public void setAction(Action a) Sets theAction. 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- the- Actionfor the- AbstractButton, or- null
- Since:
- 1.3
- See Also:
 
- 
getActionReturns the currently setActionfor thisActionEventsource, ornullif noActionis set.- Returns:
- the Actionfor thisActionEventsource, ornull
- Since:
- 1.3
- See Also:
 
- 
configurePropertiesFromActionSets the properties on this button to match those in the specifiedAction. Refer to Swing Components SupportingActionfor more details as to which properties this sets.- Parameters:
- a- the- Actionfrom which to get the properties, or- null
- Since:
- 1.3
- See Also:
 
- 
actionPropertyChangedUpdates the button's state in response to property changes in the associated action. This method is invoked from thePropertyChangeListenerreturned 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- the- Actionassociated with this button
- propertyName- the name of the property that changed
- Since:
- 1.6
- See Also:
 
- 
createActionPropertyChangeListenerCreates and returns aPropertyChangeListenerthat 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
- Returns:
- the PropertyChangeListener
- Since:
- 1.3
- See Also:
 
- 
isBorderPaintedpublic boolean isBorderPainted()Gets theborderPaintedproperty.- Returns:
- the value of the borderPaintedproperty
- See Also:
 
- 
setBorderPainted@BeanProperty(visualUpdate=true, description="Whether the border should be painted.") public void setBorderPainted(boolean b) Sets theborderPaintedproperty. Iftrueand the button has a border, the border is painted. The default value for theborderPaintedproperty istrue.Some look and feels might not support the borderPaintedproperty, in which case they ignore this.- Parameters:
- b- if true and border property is not- null, the border is painted
- See Also:
 
- 
paintBorderPaint the button's border ifBorderPaintedproperty is true and the button has a border.- Overrides:
- paintBorderin class- JComponent
- Parameters:
- g- the- Graphicscontext in which to paint
- See Also:
 
- 
isFocusPaintedpublic boolean isFocusPainted()Gets thepaintFocusproperty.- Returns:
- the paintFocusproperty
- See Also:
 
- 
setFocusPainted@BeanProperty(visualUpdate=true, description="Whether focus should be painted") public void setFocusPainted(boolean b) Sets thepaintFocusproperty, 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- if- true, the focus state should be painted
- See Also:
 
- 
isContentAreaFilledpublic boolean isContentAreaFilled()Gets thecontentAreaFilledproperty.- Returns:
- the contentAreaFilledproperty
- See Also:
 
- 
setContentAreaFilled@BeanProperty(visualUpdate=true, description="Whether the button should paint the content area or leave it transparent.") public void setContentAreaFilled(boolean b) Sets thecontentAreaFilledproperty. 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 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:
 
- 
isRolloverEnabledpublic boolean isRolloverEnabled()Gets therolloverEnabledproperty.- Returns:
- the value of the rolloverEnabledproperty
- See Also:
 
- 
setRolloverEnabled@BeanProperty(visualUpdate=true, description="Whether rollover effects should be enabled.") public void setRolloverEnabled(boolean b) Sets therolloverEnabledproperty, 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- if- true, rollover effects should be painted
- See Also:
 
- 
getMnemonicpublic int getMnemonic()Returns the keyboard mnemonic from the current model.- Returns:
- the keyboard mnemonic from the model
 
- 
setMnemonic@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") 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. These codes and the wider array of codes for international keyboards may be obtained throughjava.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. - Parameters:
- mnemonic- the key code which represents the mnemonic
- See Also:
 
- 
setMnemonic@BeanProperty(visualUpdate=true, description="the keyboard character mnemonic") public void setMnemonic(char mnemonic) This method is now obsolete, please usesetMnemonic(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:
 
- 
setDisplayedMnemonicIndex@BeanProperty(visualUpdate=true, description="the index into the String to draw the keyboard character mnemonic at") 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 if- indexis >= length of the text, or < -1
- Since:
- 1.4
- See Also:
 
- 
getDisplayedMnemonicIndexpublic 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:
 
- 
setMultiClickThreshholdpublic void setMultiClickThreshhold(long threshold) 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 threshold will be ignored and no corresponding action event generated. By default the threshold 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 threshold should be set to an appropriate positive value.- Parameters:
- threshold- the amount of time required between mouse press events to generate corresponding action events
- Throws:
- IllegalArgumentException- if threshold < 0
- Since:
- 1.4
- See Also:
 
- 
getMultiClickThreshholdpublic 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:
 
- 
getModelReturns the model that this button represents.- Returns:
- the modelproperty
- See Also:
 
- 
setModelSets the model that this button represents.- Parameters:
- newModel- the new- ButtonModel
- See Also:
 
- 
getUIReturns the L&F object that renders this component.- Overrides:
- getUIin class- JComponent
- Returns:
- the ButtonUI object
- See Also:
 
- 
setUI@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the LookAndFeel.") public void setUI(ButtonUI ui) Sets the L&F object that renders this component.- Parameters:
- ui- the- ButtonUIL&F object
- See Also:
 
- 
updateUIpublic void updateUI()Resets the UI property to a value from the current look and feel. Subtypes ofAbstractButtonshould 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 class- JComponent
- See Also:
 
- 
addImplAdds the specified component to this container at the specified index, refer toContainer.addImpl(Component, Object, int)for a complete description of this method.- Overrides:
- addImplin class- Container
- Parameters:
- comp- the component to be added
- constraints- an object expressing layout constraints for this component
- index- the position in the container's list at which to insert the component, where- -1means append to the end
- Throws:
- IllegalArgumentException- if- indexis invalid
- IllegalArgumentException- if adding the container's parent to itself
- IllegalArgumentException- if adding a window to a container
- Since:
- 1.5
- See Also:
 
- 
setLayoutSets the layout manager for this container, refer toContainer.setLayout(LayoutManager)for a complete description of this method.
- 
addChangeListenerAdds aChangeListenerto the button.- Parameters:
- l- the listener to be added
 
- 
removeChangeListenerRemoves a ChangeListener from the button.- Parameters:
- l- the listener to be removed
 
- 
getChangeListenersReturns an array of all theChangeListeners 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
 
- 
fireStateChangedprotected void fireStateChanged()Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created.- See Also:
 
- 
addActionListenerAdds anActionListenerto the button.- Parameters:
- l- the- ActionListenerto be added
 
- 
removeActionListenerRemoves anActionListenerfrom the button. If the listener is the currently setActionfor the button, then theActionis set tonull.- Parameters:
- l- the listener to be removed
 
- 
getActionListenersReturns an array of all theActionListeners 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
 
- 
createChangeListenerSubclasses that want to handleChangeEventsdifferently can override this to return anotherChangeListenerimplementation.- Returns:
- the new ChangeListener
 
- 
fireActionPerformedNotifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using theeventparameter.- Parameters:
- event- the- ActionEventobject
- See Also:
 
- 
fireItemStateChangedNotifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using theeventparameter.- Parameters:
- event- the- ItemEventobject
- See Also:
 
- 
createActionListenerReturnsActionListenerthat is added to model.- Returns:
- the ActionListener
 
- 
createItemListenerReturnsItemListenerthat is added to model.- Returns:
- the ItemListener
 
- 
setEnabledpublic void setEnabled(boolean b) Enables (or disables) the button.- Overrides:
- setEnabledin class- JComponent
- Parameters:
- b- true to enable the button, otherwise false
- See Also:
 
- 
getLabelDeprecated.- Replaced bygetTextReturns the label text.- Returns:
- a Stringcontaining the label
 
- 
setLabel@Deprecated @BeanProperty(description="Replace by setText(text)") public void setLabel(String label) Deprecated.- Replaced bysetText(text)Sets the label text.- Parameters:
- label- a- Stringcontaining the text
 
- 
addItemListenerAdds anItemListenerto thecheckbox.- Specified by:
- addItemListenerin interface- ItemSelectable
- Parameters:
- l- the- ItemListenerto be added
- See Also:
 
- 
removeItemListenerRemoves anItemListenerfrom the button.- Specified by:
- removeItemListenerin interface- ItemSelectable
- Parameters:
- l- the- ItemListenerto be removed
- See Also:
 
- 
getItemListenersReturns an array of all theItemListeners 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
 
- 
getSelectedObjectsReturns an array (length 1) containing the label ornullif the button is not selected.- Specified by:
- getSelectedObjectsin interface- ItemSelectable
- Returns:
- an array containing 1 Object: the text of the button,
         if the item is selected; otherwise null
 
- 
init
- 
imageUpdateIf the button icon for the current button state is eithernullor not anImageIconwith anImageequal to the passed inImage, returnfalse; otherwise it will delegate to the super-class.- Specified by:
- imageUpdatein interface- ImageObserver
- Overrides:
- imageUpdatein class- Component
- Parameters:
- img- the- Imageto be compared
- infoflags- flags used to repaint the button when the image is updated and which determine how much is to be painted
- x- the x coordinate
- y- the y coordinate
- w- the width
- h- the height
- Returns:
- falseif the infoflags indicate that the image is completely loaded;- trueotherwise.
- See Also:
 
- 
paramStringReturns a string representation of thisAbstractButton. 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 class- JComponent
- Returns:
- a string representation of this AbstractButton
 
 
- 
getText