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 JavaBeansTM has been added to the `java.beans` package. Please see `XMLEncoder`.

### Field Summary

Fields
`protected Color` `disabledTextColor`
`protected Color` `focusColor`
`protected Color` `selectColor`

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

`defaultTextIconGap, defaultTextShiftOffset`

### Constructor Summary

Constructors
Constructor and Description
`MetalButtonUI()`

### Method Summary

Methods
`protected BasicButtonListener` `createButtonListener(AbstractButton b)`
`static ComponentUI` `createUI(JComponent c)`
`protected Color` `getDisabledTextColor()`
`protected Color` `getFocusColor()`
`protected Color` `getSelectColor()`
`void` `installDefaults(AbstractButton b)`
`protected void` `paintButtonPressed(Graphics g, AbstractButton b)`
`protected void` `paintFocus(Graphics g, AbstractButton b, Rectangle viewRect, Rectangle textRect, Rectangle iconRect)`
`protected void` `paintText(Graphics g, JComponent c, Rectangle textRect, String text)` As of Java 2 platform v 1.4 this method should not be used or overriden.
`void` `uninstallDefaults(AbstractButton b)`
`void` `update(Graphics g, JComponent c)` If necessary paints the background of the component, then invokes `paint`.

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

`clearTextShiftOffset, getBaseline, getBaselineResizeBehavior, getDefaultTextIconGap, getMaximumSize, getMinimumSize, getPreferredSize, getPropertyPrefix, getTextShiftOffset, installKeyboardActions, installListeners, installUI, paint, paintIcon, paintText, setTextShiftOffset, uninstallKeyboardActions, uninstallListeners, uninstallUI`

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

`contains, getAccessibleChild, getAccessibleChildrenCount`

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

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

### Field Detail

#### focusColor

    protected Color focusColor

#### selectColor

    protected Color selectColor

#### disabledTextColor

    protected Color disabledTextColor

### Constructor Detail

#### MetalButtonUI

    public MetalButtonUI()

### Method Detail

#### createUI

    public static ComponentUI createUI(JComponent c)

#### installDefaults

    public void installDefaults(AbstractButton b)

Overrides:
  `installDefaults` in class `BasicButtonUI`

#### uninstallDefaults

    public void uninstallDefaults(AbstractButton b)

Overrides:
  `uninstallDefaults` in class `BasicButtonUI`

#### createButtonListener

    protected BasicButtonListener createButtonListener(AbstractButton b)

Overrides:
  `createButtonListener` in class `BasicButtonUI`

#### getSelectColor

    protected Color getSelectColor()

#### getDisabledTextColor

    protected Color getDisabledTextColor()

#### getFocusColor

    protected Color getFocusColor()

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

#### paintButtonPressed

    protected void paintButtonPressed(Graphics g,
                          AbstractButton b)

Overrides:
  `paintButtonPressed` in class `BasicButtonUI`

#### paintFocus

    protected void paintFocus(Graphics g,
                  AbstractButton b,
                  Rectangle viewRect,
                  Rectangle textRect,
                  Rectangle iconRect)

Overrides:
  `paintFocus` in class `BasicButtonUI`

#### paintText

    protected void paintText(Graphics g,
                 JComponent c,
                 Rectangle textRect,
                 String text)

Description copied from class: `BasicButtonUI`
As of Java 2 platform v 1.4 this method should not be used or overriden. Use the paintText method which takes the AbstractButton argument.

Overrides:
  `paintText` in class `BasicButtonUI`

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.