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