BasicButtonUI (Java SE 22 & JDK 22)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicButtonUI
Keywords: javax.swing.plaf.basic.BasicButtonUI class

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)`