Module java.desktop
Package javax.swing.plaf.basic

# Class BasicButtonUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ButtonUI
javax.swing.plaf.basic.BasicButtonUI

Direct Known Subclasses:
  `BasicToggleButtonUI`, `MetalButtonUI`, `SynthButtonUI`

    public class BasicButtonUI
    extends ButtonUI

BasicButton implementation

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`protected int` | `defaultTextIconGap` | The default gap between a text and an icon.
`protected int` | `defaultTextShiftOffset` | The default offset of a text.

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`BasicButtonUI()` |

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`protected void` | `clearTextShiftOffset()` | Clears the offset of the text.
`protected BasicButtonListener` | `createButtonListener​(AbstractButton b)` | Returns a new instance of `BasicButtonListener`.
`static ComponentUI` | `createUI​(JComponent c)` | Returns an instance of `BasicButtonUI`.
`int` | `getBaseline​(JComponent c, int width, int height)` | Returns the baseline.
`Component.BaselineResizeBehavior` | `getBaselineResizeBehavior​(JComponent c)` | Returns an enum indicating how the baseline of the component changes as the size changes.
`int` | `getDefaultTextIconGap​(AbstractButton b)` | Returns the default gap between a text and an icon.
`protected String` | `getPropertyPrefix()` | Returns the property prefix.
`protected int` | `getTextShiftOffset()` | Returns the offset of the text.
`protected void` | `installDefaults​(AbstractButton b)` | Installs default properties.
`protected void` | `installKeyboardActions​(AbstractButton b)` | Registers keyboard actions.
`protected void` | `installListeners​(AbstractButton b)` | Registers listeners.
`protected void` | `paintButtonPressed​(Graphics g, AbstractButton b)` | Paints a pressed button.
`protected void` | `paintFocus​(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect)` | Paints a focused button.
`protected void` | `paintIcon​(Graphics g, JComponent c, Rectangle iconRect)` | Paints an icon of the current button.
`protected void` | `paintText​(Graphics g, AbstractButton b, Rectangle textRect, String text)` | Method which renders the text of the current button.
`protected void` | `paintText​(Graphics g, JComponent c, Rectangle textRect, String text)` | Method which renders the text of the current button.
`protected void` | `setTextShiftOffset()` | Sets the offset of the text.
`protected void` | `uninstallDefaults​(AbstractButton b)` | Uninstalls default properties.
`protected void` | `uninstallKeyboardActions​(AbstractButton b)` | Unregisters keyboard actions.
`protected void` | `uninstallListeners​(AbstractButton b)` | Unregisters listeners.

### Methods declared in class javax.swing.plaf.ComponentUI

`contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### defaultTextIconGap

protected int defaultTextIconGap
The default gap between a text and an icon.

### defaultTextShiftOffset

protected int defaultTextShiftOffset
The default offset of a text.

## Constructor Details

### BasicButtonUI

public BasicButtonUI()

## Method Details

### createUI

public static ComponentUI createUI​(JComponent c)
Returns an instance of `BasicButtonUI`.

Parameters:
  `c` - a component
Returns:
  an instance of `BasicButtonUI`

### getPropertyPrefix

protected String getPropertyPrefix()
Returns the property prefix.

Returns:
  the property prefix

### installDefaults

protected void installDefaults​(AbstractButton b)
Installs default properties.

Parameters:
  `b` - an abstract button

### installListeners

protected void installListeners​(AbstractButton b)
Registers listeners.

Parameters:
  `b` - an abstract button

### installKeyboardActions

protected void installKeyboardActions​(AbstractButton b)
Registers keyboard actions.

Parameters:
  `b` - an abstract button

### uninstallKeyboardActions

protected void uninstallKeyboardActions​(AbstractButton b)
Unregisters keyboard actions.

Parameters:
  `b` - an abstract button

### uninstallListeners

protected void uninstallListeners​(AbstractButton b)
Unregisters listeners.

Parameters:
  `b` - an abstract button

### uninstallDefaults

protected void uninstallDefaults​(AbstractButton b)
Uninstalls default properties.

Parameters:
  `b` - an abstract button

### createButtonListener

protected BasicButtonListener createButtonListener​(AbstractButton b)
Returns a new instance of `BasicButtonListener`.

Parameters:
  `b` - an abstract button
Returns:
  a new instance of `BasicButtonListener`

### getDefaultTextIconGap

public int getDefaultTextIconGap​(AbstractButton b)
Returns the default gap between a text and an icon.

Parameters:
  `b` - an abstract button
Returns:
  the default gap between text and an icon

### paintIcon

protected void paintIcon​(Graphics g, JComponent c, Rectangle iconRect)
Paints an icon of the current button.

Parameters:
  `g` - an instance of `Graphics`
  `c` - a component
  `iconRect` - a bounding rectangle to render the icon

### paintText

protected void paintText​(Graphics g, JComponent c, Rectangle textRect, String text)
Method which renders the text of the current button. As of Java 2 platform v 1.4 this method should not be used or overriden. Use the paintText method which takes the AbstractButton argument.

Parameters:
  `g` - an instance of `Graphics`
  `c` - a component
  `textRect` - a bounding rectangle to render the text
  `text` - a string to render

### paintText

protected void paintText​(Graphics g, AbstractButton b, Rectangle textRect, String text)
Method which renders the text of the current button.

Parameters:
  `g` - Graphics context
  `b` - Current button to render
  `textRect` - Bounding rectangle to render the text
  `text` - String to render
Since:
  1.4

### paintFocus

protected void paintFocus​(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect)
Paints a focused button.

Parameters:
  `g` - an instance of `Graphics`
  `b` - an abstract button
  `viewRect` - a bounding rectangle to render the button
  `textRect` - a bounding rectangle to render the text
  `iconRect` - a bounding rectangle to render the icon

### paintButtonPressed

protected void paintButtonPressed​(Graphics g, AbstractButton b)
Paints a pressed button.

Parameters:
  `g` - an instance of `Graphics`
  `b` - an abstract button

### clearTextShiftOffset

protected void clearTextShiftOffset()
Clears the offset of the text.

### setTextShiftOffset

protected void setTextShiftOffset()
Sets the offset of the text.

### getTextShiftOffset

protected int getTextShiftOffset()
Returns the offset of the text.

Returns:
  the offset of the text

### getBaseline

public int getBaseline​(JComponent c, int width, int height)
Returns the baseline.

Overrides:
  `getBaseline` in class `ComponentUI`
Parameters:
  `c` - `JComponent` baseline is being requested for
  `width` - the width to get the baseline for
  `height` - the height to get the baseline for
Returns:
  baseline or a value < 0 indicating there is no reasonable baseline
Throws:
  `NullPointerException` - if `c` is `null`
  `IllegalArgumentException` - if width or height is < 0
Since:
  1.6
See Also:
  `JComponent.getBaseline(int, int)`

### getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior​(JComponent c)
Returns an enum indicating how the baseline of the component changes as the size changes.

Overrides:
  `getBaselineResizeBehavior` in class `ComponentUI`
Parameters:
  `c` - `JComponent` to return baseline resize behavior for
Returns:
  an enum indicating how the baseline changes as the component size changes
Throws:
  `NullPointerException` - if `c` is `null`
Since:
  1.6
See Also:
  `JComponent.getBaseline(int, int)`