Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JButton

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.AbstractButton
                              |
                              +--javax.swing.JButton

All Implemented Interfaces:
  Accessible, ImageObserver, ItemSelectable, MenuContainer, Serializable, SwingConstants

Direct Known Subclasses:
  BasicArrowButton, MetalComboBoxButton

public class JButton
extends AbstractButton
implements Accessible

An implementation of a "push" button. See How to Use Buttons, Check Boxes, and Radio Buttons in The Java Tutorial for information and examples of using buttons.

For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JButton key assignments.

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. A future release of Swing will provide support for long term persistence.

See Also:
  Serialized Form

Inner Class Summary
`protected class` | `JButton.AccessibleJButton` This class implements accessibility support for the `JButton` class.

Inner classes inherited from class javax.swing.AbstractButton
`AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener`

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

Fields inherited from class javax.swing.AbstractButton
`actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY`

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, NORTH, NORTH_EAST, NORTH_WEST, 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
`JButton()` Creates a button with no set text or icon.
`JButton(Action a)` Creates a button where properties are taken from the Action supplied.
`JButton(Icon icon)` Creates a button with an icon.
`JButton(String text)` Creates a button with text.
`JButton(String text, Icon icon)` Creates a button with initial text and an icon.

Method Summary
`protected void` | `configurePropertiesFromAction(Action a)` Factory method which sets the AbstractButton's properties according to values from the Action instance.
`AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this JButton.
`String` | `getUIClassID()` Returns a string that specifies the name of the L&F class that renders this component.
`boolean` | `isDefaultButton()` Returns whether or not this button is the default button on the RootPane.
`boolean` | `isDefaultCapable()` Returns whether or not this button is capable of being the default button on the RootPane.
`protected String` | `paramString()` Returns a string representation of this JButton.
`void` | `removeNotify()` Overrides `JComponent.removeNotify` to check if this button is currently set as the default button on the RootPane, and if so, sets the RootPane's default button to null to ensure the RootPane doesn't hold onto an invalid button reference.
`void` | `setDefaultCapable(boolean defaultCapable)` Sets whether or not this button is capable of being the default button on the RootPane.
`void` | `updateUI()` Notification from the UIFactory that the L&F has changed.

Methods inherited from class javax.swing.AbstractButton
`addActionListener, addChangeListener, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getDisabledIcon, getDisabledSelectedIcon, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getLabel, getMargin, getMnemonic, getModel, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isFocusTraversable, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setEnabled, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setLabel, setMargin, setMnemonic, setMnemonic, setModel, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JButton

    public JButton()

  Creates a button with no set text or icon.

### JButton

    public JButton(Icon icon)

  Creates a button with an icon.
  Parameters:
    `icon` - the Icon image to display on the button

### JButton

    public JButton(String text)

  Creates a button with text.
  Parameters:
    `text` - the text of the button

### JButton

    public JButton(Action a)

  Creates a button where properties are taken from the Action supplied.
  Since:
    1.3

### JButton

    public JButton(String text,
                   Icon icon)

  Creates a button with initial text and an icon.
  Parameters:
    `text` - the text of the button.
    `icon` - the Icon image to display on the button

Method Detail

### updateUI

    public void updateUI()

  Notification from the UIFactory that the L&F has changed.
  Overrides:
    `updateUI` in class `AbstractButton`
  See Also:
    `JComponent.updateUI()`

### getUIClassID

    public String getUIClassID()

  Returns a string that specifies the name of the L&F class that renders this component.
  Overrides:
    `getUIClassID` in class `JComponent`
  Returns:
    "ButtonUI"
  See Also:
    `JComponent.getUIClassID()`, `UIDefaults.getUI(javax.swing.JComponent)`

### isDefaultButton

    public boolean isDefaultButton()

  Returns whether or not this button is the default button on the RootPane.
  Returns:
    "boolean"
  See Also:
    `JRootPane.setDefaultButton(javax.swing.JButton)`

### isDefaultCapable

    public boolean isDefaultCapable()

  Returns whether or not this button is capable of being the default button on the RootPane.
  Returns:
    "boolean"
  See Also:
    `setDefaultCapable(boolean)`, `isDefaultButton()`, `JRootPane.setDefaultButton(javax.swing.JButton)`

### setDefaultCapable

    public void setDefaultCapable(boolean defaultCapable)

  Sets whether or not this button is capable of being the default button on the RootPane.
  Returns:
    "boolean"
  See Also:
    `isDefaultCapable()`

### removeNotify

    public void removeNotify()

  Overrides `JComponent.removeNotify` to check if this button is currently set as the default button on the RootPane, and if so, sets the RootPane's default button to null to ensure the RootPane doesn't hold onto an invalid button reference.
  Overrides:
    `removeNotify` in class `JComponent`
  Following copied from class: `javax.swing.JComponent`
  See Also:
    `JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)`

### configurePropertiesFromAction

    protected void configurePropertiesFromAction(Action a)

  Factory method which sets the AbstractButton's properties according to values from the Action instance. The properties which get set may differ for AbstractButton subclasses. By default, the properties which get set are Text, Icon Enabled, and ToolTipText.
  Overrides:
    `configurePropertiesFromAction` in class `AbstractButton`
  Parameters:
    `a` - the Action from which to get the properties, or null
  Since:
    1.3
  See Also:
    `Action`, `AbstractButton.setAction(javax.swing.Action)`

### paramString

    protected String paramString()

  Returns a string representation of this JButton. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be `null`.
  Overrides:
    `paramString` in class `AbstractButton`
  Returns:
    a string representation of this JButton.

### getAccessibleContext

    public AccessibleContext getAccessibleContext()

  Gets the AccessibleContext associated with this JButton. For JButtons, the AccessibleContext takes the form of an AccessibleJButton. A new AccessibleJButton instance is created if necessary.
  Specified by:
    `getAccessibleContext` in interface `Accessible`
  Overrides:
    `getAccessibleContext` in class `JComponent`
  Returns:
    an AccessibleJButton that serves as the AccessibleContext of this JButton

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.