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

## Class SynthLabelUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.LabelUI
    - - javax.swing.plaf.basic.BasicLabelUI
      - - javax.swing.plaf.synth.SynthLabelUI

- All Implemented Interfaces:
    `PropertyChangeListener`, `EventListener`, `SynthConstants`, `SynthUI`

      public class SynthLabelUI
      extends BasicLabelUI
      implements SynthUI

  Provides the Synth L&F UI delegate for `JLabel`.
  Since:
    1.7

- - ### Field Summary

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

      `labelUI`

    - ### Fields inherited from interface javax.swing.plaf.synth.SynthConstants

      `DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SynthLabelUI​()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI​(JComponent c)` | Returns the LabelUI implementation used for the skins look and feel.
    `int` | `getBaseline​(JComponent c, int width, int height)` | Returns the baseline.
    `SynthContext` | `getContext​(JComponent c)` | Returns the Context for the specified component.
    `Dimension` | `getMaximumSize​(JComponent c)` | Returns the specified component's maximum size appropriate for the look and feel.
    `Dimension` | `getMinimumSize​(JComponent c)` | Returns the specified component's minimum size appropriate for the look and feel.
    `Dimension` | `getPreferredSize​(JComponent c)` | Returns the specified component's preferred size appropriate for the look and feel.
    `protected void` | `installDefaults​(JLabel c)` | Installs default properties.
    `void` | `paint​(Graphics g, JComponent c)` | Paints the specified component according to the Look and Feel.
    `protected void` | `paint​(SynthContext context, Graphics g)` | Paints the specified component.
    `void` | `paintBorder​(SynthContext context, Graphics g, int x, int y, int w, int h)` | Paints the border.
    `void` | `propertyChange​(PropertyChangeEvent e)` | This method gets called when a bound property is changed.
    `protected void` | `uninstallDefaults​(JLabel c)` | Uninstalls default properties.
    `void` | `update​(Graphics g, JComponent c)` | Notifies this UI delegate to repaint the specified component.

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

      `getBaselineResizeBehavior, installComponents, installKeyboardActions, installListeners, installUI, layoutCL, paintDisabledText, paintEnabledText, uninstallComponents, 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`

- - ### Constructor Detail

    - #### SynthLabelUI

          public SynthLabelUI​()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI​(JComponent c)

      Returns the LabelUI implementation used for the skins look and feel.
      Parameters:
        `c` - component to create UI object for
      Returns:
        the UI object

    - #### installDefaults

          protected void installDefaults​(JLabel c)

      Installs default properties.
      Overrides:
        `installDefaults` in class `BasicLabelUI`
      Parameters:
        `c` - an instance of `JLabel`

    - #### uninstallDefaults

          protected void uninstallDefaults​(JLabel c)

      Uninstalls default properties.
      Overrides:
        `uninstallDefaults` in class `BasicLabelUI`
      Parameters:
        `c` - an instance of `JLabel`

    - #### getContext

          public SynthContext getContext​(JComponent c)

      Returns the Context for the specified component.
      Specified by:
        `getContext` in interface `SynthUI`
      Parameters:
        `c` - Component requesting SynthContext.
      Returns:
        SynthContext describing component.

    - #### getBaseline

          public int getBaseline​(JComponent c,
                                 int width,
                                 int height)

      Returns the baseline.
      Overrides:
        `getBaseline` in class `BasicLabelUI`
      Parameters:
        `c` - `JComponent` baseline is being requested for
        `width` - the width to get the baseline for
        `height` - the height to get the baseline for
      Returns:
        baseline or a value < 0 indicating there is no reasonable baseline
      See Also:
        `JComponent.getBaseline(int, int)`

    - #### update

          public void update​(Graphics g,
                             JComponent c)

      Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the `paint(SynthContext,Graphics)` method.

      In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the `paint` method.

      Overrides:
        `update` in class `ComponentUI`
      Parameters:
        `g` - the `Graphics` object used for painting
        `c` - the component being painted
      See Also:
        `paint(SynthContext,Graphics)`

    - #### paint

          public void paint​(Graphics g,
                            JComponent c)

      Paints the specified component according to the Look and Feel.

      This method is not used by Synth Look and Feel. Painting is handled by the `paint(SynthContext,Graphics)` method.

      Overrides:
        `paint` in class `BasicLabelUI`
      Parameters:
        `g` - the `Graphics` object used for painting
        `c` - the component being painted
      See Also:
        `paint(SynthContext,Graphics)`

    - #### paint

          protected void paint​(SynthContext context,
                               Graphics g)

      Paints the specified component.
      Parameters:
        `context` - context for the component being painted
        `g` - the `Graphics` object used for painting
      See Also:
        `update(Graphics,JComponent)`

    - #### paintBorder

          public void paintBorder​(SynthContext context,
                                  Graphics g,
                                  int x,
                                  int y,
                                  int w,
                                  int h)

      Paints the border.
      Specified by:
        `paintBorder` in interface `SynthUI`
      Parameters:
        `context` - a component context
        `g` - `Graphics` to paint on
        `x` - the X coordinate
        `y` - the Y coordinate
        `w` - width of the border
        `h` - height of the border

    - #### getPreferredSize

          public Dimension getPreferredSize​(JComponent c)

      Returns the specified component's preferred size appropriate for the look and feel. If `null` is returned, the preferred size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method returns `null`.
      Overrides:
        `getPreferredSize` in class `BasicLabelUI`
      Parameters:
        `c` - the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      Returns:
        a `Dimension` object containing given component's preferred size appropriate for the look and feel
      See Also:
        `JComponent.getPreferredSize()`, `LayoutManager.preferredLayoutSize(java.awt.Container)`

    - #### getMinimumSize

          public Dimension getMinimumSize​(JComponent c)

      Returns the specified component's minimum size appropriate for the look and feel. If `null` is returned, the minimum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes `getPreferredSize` and returns that value.
      Overrides:
        `getMinimumSize` in class `BasicLabelUI`
      Parameters:
        `c` - the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      Returns:
        getPreferredSize(c)
      See Also:
        `JComponent.getMinimumSize()`, `LayoutManager.minimumLayoutSize(java.awt.Container)`, `ComponentUI.getPreferredSize(javax.swing.JComponent)`

    - #### getMaximumSize

          public Dimension getMaximumSize​(JComponent c)

      Returns the specified component's maximum size appropriate for the look and feel. If `null` is returned, the maximum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes `getPreferredSize` and returns that value.
      Overrides:
        `getMaximumSize` in class `BasicLabelUI`
      Parameters:
        `c` - the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
      Returns:
        getPreferredSize(c)
      See Also:
        `JComponent.getMaximumSize()`, `LayoutManager2.maximumLayoutSize(java.awt.Container)`

    - #### propertyChange

          public void propertyChange​(PropertyChangeEvent e)

      This method gets called when a bound property is changed.
      Specified by:
        `propertyChange` in interface `PropertyChangeListener`
      Overrides:
        `propertyChange` in class `BasicLabelUI`
      Parameters:
        `e` - A PropertyChangeEvent object describing the event source and the property that has changed.