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

## Class MetalButtonUI

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

-     public class MetalButtonUI
      extends BasicButtonUI

  MetalButtonUI implementation

  Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the `java.beans` package. Please see `XMLEncoder`.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Color` | `disabledTextColor` | The color of the disabled color.
    `protected Color` | `focusColor` | The color of the focused button.
    `protected Color` | `selectColor` | The color of the selected button.

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

      `defaultTextIconGap, defaultTextShiftOffset`

  - ### Constructor Summary

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

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI​(JComponent c)` | Returns an instance of `MetalButtonUI`.
    `protected Color` | `getDisabledTextColor()` | Returns the color of a disabled text.
    `protected Color` | `getFocusColor()` | Returns the color of the focused button.
    `protected Color` | `getSelectColor()` | Returns the color of the selected button.
    `void` | `update​(Graphics g, JComponent c)` | If necessary paints the background of the component, then invokes `paint`.

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

      `clearTextShiftOffset, createButtonListener, getBaseline, getBaselineResizeBehavior, getDefaultTextIconGap, getPropertyPrefix, getTextShiftOffset, 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, getPreferredSize, installUI, paint, uninstallUI`

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

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

- - ### Field Detail

    - #### focusColor

          protected Color focusColor

      The color of the focused button.

    - #### selectColor

          protected Color selectColor

      The color of the selected button.

    - #### disabledTextColor

          protected Color disabledTextColor

      The color of the disabled color.

  - ### Constructor Detail

    - #### MetalButtonUI

          public MetalButtonUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent c)

      Returns an instance of `MetalButtonUI`.
      Parameters:
        `c` - a component
      Returns:
        an instance of `MetalButtonUI`

    - #### getSelectColor

          protected Color getSelectColor()

      Returns the color of the selected button.
      Returns:
        the color of the selected button

    - #### getDisabledTextColor

          protected Color getDisabledTextColor()

      Returns the color of a disabled text.
      Returns:
        the color of a disabled text

    - #### getFocusColor

          protected Color getFocusColor()

      Returns the color of the focused button.
      Returns:
        the color of the focused button

    - #### update

          public void update​(Graphics g,
                             JComponent c)

      If necessary paints the background of the component, then invokes `paint`.
      Overrides:
        `update` in class `ComponentUI`
      Parameters:
        `g` - Graphics to paint to
        `c` - JComponent painting on
      Throws:
        `NullPointerException` - if `g` or `c` is null
      Since:
        1.5
      See Also:
        `ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)`, `ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)`