com.explodingpixels.macwidgets.plaf

## Class EmphasizedLabelUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.LabelUI
    - - javax.swing.plaf.basic.BasicLabelUI
      - - com.explodingpixels.macwidgets.plaf.EmphasizedLabelUI

- All Implemented Interfaces:
    PropertyChangeListener, EventListener

      public class EmphasizedLabelUI
      extends BasicLabelUI

  A `BasicLabelUI` that paints a shadow under the text using the given shadow color, which helps emphasize the text. The UI delegate also provides a facility for drawing a different shadow color when the corresponding label's containing `Window` is unfocused.

  While this UI delegate can be directly installed on existing `JLabel`s, it is recommended that you use the `MacWidgetFactory.createEmphasizedLabel(String)` or `MacWidgetFactory.makeEmphasizedLabel(JLabel, Color, Color, Color)` factory methods.

  Here's a close-up of an emphasized label:

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Color` | `DEFAULT_DISABLED_FONT_COLOR`
    `static Color` | `DEFAULT_EMPHASIS_COLOR`
    `static Color` | `DEFAULT_FOCUSED_FONT_COLOR`
    `static Color` | `DEFAULT_UNFOCUSED_FONT_COLOR`

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

      `labelUI`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EmphasizedLabelUI()` Creates an `EmphasizedLabelUI` using the default colors.
    `EmphasizedLabelUI(Color focusedTextColor, Color unfocusedTextColor, Color emphasisColor)` Creates an `EmphasizedLabelUI` using the given colors.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `installUI(JComponent c)`
    `protected void` | `paintDisabledText(JLabel label, Graphics g, String s, int textX, int textY)`
    `protected void` | `paintEnabledText(JLabel label, Graphics g, String s, int textX, int textY)`
    `void` | `uninstallUI(JComponent c)`

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

      `createUI, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installComponents, installDefaults, installKeyboardActions, installListeners, layoutCL, paint, propertyChange, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners`

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

- - ### Field Detail

    - #### DEFAULT_EMPHASIS_COLOR

          public static final Color DEFAULT_EMPHASIS_COLOR

    - #### DEFAULT_FOCUSED_FONT_COLOR

          public static final Color DEFAULT_FOCUSED_FONT_COLOR

    - #### DEFAULT_UNFOCUSED_FONT_COLOR

          public static final Color DEFAULT_UNFOCUSED_FONT_COLOR

    - #### DEFAULT_DISABLED_FONT_COLOR

          public static final Color DEFAULT_DISABLED_FONT_COLOR

  - ### Constructor Detail

    - #### EmphasizedLabelUI

          public EmphasizedLabelUI()

      Creates an `EmphasizedLabelUI` using the default colors.

    - #### EmphasizedLabelUI

          public EmphasizedLabelUI(Color focusedTextColor,
                           Color unfocusedTextColor,
                           Color emphasisColor)

      Creates an `EmphasizedLabelUI` using the given colors.
      Parameters:
        `focusedTextColor` - the color to draw the text with when the parent `Window` has focus.
        `unfocusedTextColor` - the color to draw the text with when the parent `Window` does not have focus.
        `emphasisColor` - the color to draw the emphasis text with.

  - ### Method Detail

    - #### installUI

          public void installUI(JComponent c)

      Overrides:
        `installUI` in class `BasicLabelUI`

    - #### uninstallUI

          public void uninstallUI(JComponent c)

      Overrides:
        `uninstallUI` in class `BasicLabelUI`

    - #### paintEnabledText

          protected void paintEnabledText(JLabel label,
                              Graphics g,
                              String s,
                              int textX,
                              int textY)

      Overrides:
        `paintEnabledText` in class `BasicLabelUI`

    - #### paintDisabledText

          protected void paintDisabledText(JLabel label,
                               Graphics g,
                               String s,
                               int textX,
                               int textY)

      Overrides:
        `paintDisabledText` in class `BasicLabelUI`