BasicToggleButtonUI (Java Platform SE 8 )
Keywords: javax.swing.plaf.basic.BasicToggleButtonUI class
Date: 2026-01-21

javax.swing.plaf.basic

## Class BasicToggleButtonUI

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

- Direct Known Subclasses:
    BasicRadioButtonUI, MetalToggleButtonUI

      public class BasicToggleButtonUI
      extends BasicButtonUI

  BasicToggleButton implementation

- - ### Field Summary

    - ### Fields inherited from class javax.swing.plaf.basic.BasicButtonUI

      `defaultTextIconGap, defaultTextShiftOffset`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicToggleButtonUI()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ComponentUI` | `createUI(JComponent b)`
    `protected String` | `getPropertyPrefix()`
    `protected int` | `getTextShiftOffset()` Overriden so that the text will not be rendered as shifted for Toggle buttons and subclasses.
    `void` | `paint(Graphics g, JComponent c)` Paints the specified component appropriately for the look and feel.
    `protected void` | `paintIcon(Graphics g, AbstractButton b, Rectangle iconRect)`

    - ### Methods inherited from class javax.swing.plaf.basic.BasicButtonUI

      `clearTextShiftOffset, createButtonListener, getBaseline, getBaselineResizeBehavior, getDefaultTextIconGap, getMaximumSize, getMinimumSize, getPreferredSize, installDefaults, installKeyboardActions, installListeners, installUI, paintButtonPressed, paintFocus, paintIcon, paintText, paintText, setTextShiftOffset, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, update`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### BasicToggleButtonUI

          public BasicToggleButtonUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent b)

    - #### getPropertyPrefix

          protected String getPropertyPrefix()

      Overrides:
        `getPropertyPrefix` in class `BasicButtonUI`

    - #### paint

          public void paint(Graphics g,
                            JComponent c)

      Description copied from class: `ComponentUI`
      Paints the specified component appropriately for the look and feel. This method is invoked from the `ComponentUI.update` method when the specified component is being painted. Subclasses should override this method and use the specified `Graphics` object to render the content of the component.
      Overrides:
        `paint` in class `BasicButtonUI`
      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)`

    - #### paintIcon

          protected void paintIcon(Graphics g,
                                   AbstractButton b,
                                   Rectangle iconRect)

    - #### getTextShiftOffset

          protected int getTextShiftOffset()

      Overriden so that the text will not be rendered as shifted for Toggle buttons and subclasses.
      Overrides:
        `getTextShiftOffset` in class `BasicButtonUI`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.