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()`
Constructs a `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()
Constructs a `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 overridden. 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)`