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 Detail

    - #### icon

          protected Icon icon

      The icon.

  - ### Constructor Detail

    - #### BasicRadioButtonUI

          public BasicRadioButtonUI()

  - ### Method Detail

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