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

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

# Class BasicRadioButtonUI

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

Direct Known Subclasses:
  `BasicCheckBoxUI`, `MetalRadioButtonUI`

    public class BasicRadioButtonUI
    extends BasicToggleButtonUI

RadioButtonUI implementation for BasicRadioButtonUI

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `protected Icon` | `icon` | The icon.

  ### Fields declared in class javax.swing.plaf.basic.BasicButtonUI

  `defaultTextIconGap, defaultTextShiftOffset`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static ComponentUI` | `createUI​(JComponent b)` | Returns an instance of `BasicRadioButtonUI`.
  `Icon` | `getDefaultIcon()` | Returns the default icon.
  `Dimension` | `getPreferredSize​(JComponent c)` | The preferred size of the radio button
  `void` | `paint​(Graphics g, JComponent c)` | paint the radio button
  `protected void` | `paintFocus​(Graphics g, Rectangle textRect, Dimension size)` | Paints focused radio button.

  ### Methods declared in class javax.swing.plaf.basic.BasicToggleButtonUI

  `getTextShiftOffset, paintIcon`

  ### Methods declared in class javax.swing.plaf.basic.BasicButtonUI

  `clearTextShiftOffset, createButtonListener, getBaseline, getBaselineResizeBehavior, getDefaultTextIconGap, getPropertyPrefix, installDefaults, installKeyboardActions, installListeners, paintButtonPressed, paintFocus, paintIcon, paintText, paintText, setTextShiftOffset, uninstallDefaults, uninstallKeyboardActions, uninstallListeners`

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

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

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

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

- ## Field Details

  - ### icon

    protected Icon icon
    The icon.

- ## Constructor Details

  - ### BasicRadioButtonUI

    public BasicRadioButtonUI()

- ## Method Details

  - ### createUI

    public static ComponentUI createUI​(JComponent b)
    Returns an instance of `BasicRadioButtonUI`.
    Parameters:
      `b` - a component
    Returns:
      an instance of `BasicRadioButtonUI`

  - ### getDefaultIcon

    public Icon getDefaultIcon()
    Returns the default icon.
    Returns:
      the default icon

  - ### paint

    public void paint​(Graphics g, JComponent c)
    paint the radio button
    Overrides:
      `paint` in class `ComponentUI`
    Parameters:
      `g` - the `Graphics` context in which to paint
      `c` - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    See Also:
      `ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)`

  - ### paintFocus

    protected void paintFocus​(Graphics g, Rectangle textRect, Dimension size)
    Paints focused radio button.
    Parameters:
      `g` - an instance of `Graphics`
      `textRect` - bounds
      `size` - the size of radio button

  - ### getPreferredSize

    public Dimension getPreferredSize​(JComponent c)
    The preferred size of the radio button
    Overrides:
      `getPreferredSize` in class `ComponentUI`
    Parameters:
      `c` - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
    Returns:
      a `Dimension` object containing given component's preferred size appropriate for the look and feel
    See Also:
      `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`