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
`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
`MetalButtonUI()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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)`