org.flexdock.util

## Class SwingUtility

- java.lang.Object
- - org.flexdock.util.SwingUtility

-     public class SwingUtility
      extends java.lang.Object

  Author:
    Christopher Butler

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SwingUtility()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `activateWindow(java.awt.Component c)`
    `static void` | `add(java.awt.Point p1, java.awt.Point p2)`
    `static java.awt.Color` | `brighter(java.awt.Color color, double factor)`
    `static void` | `center(java.awt.Window window, java.awt.Component parent)`
    `static void` | `centerOnScreen(java.awt.Window window)`
    `static java.awt.image.BufferedImage` | `createImage(java.awt.Component comp)`
    `static java.awt.Color` | `darker(java.awt.Color color, double factor)`
    `static void` | `drawRect(java.awt.Graphics g, java.awt.Rectangle r)`
    `static void` | `focus(java.awt.Component c)`
    `static java.awt.Window` | `getActiveWindow()`
    `static DockingPort[]` | `getChildPorts(DockingPort port)`
    `static java.lang.Object` | `getClientProperty(java.awt.Component c, java.lang.Object key)`
    `static java.awt.Container` | `getContentPane(java.awt.Component c)`
    `static float` | `getDividerProportion(javax.swing.JSplitPane splitPane)`
    `static java.awt.Component` | `getNearestFocusableComponent(java.awt.Component c)`
    `static java.awt.Component` | `getNearestFocusableComponent(java.awt.Component c, java.awt.Container desiredRoot)`
    `static java.awt.Component` | `getOtherComponent(javax.swing.JSplitPane split, java.awt.Component current)`
    `static java.awt.Point[]` | `getPoints(java.awt.Rectangle rect)`
    `static java.awt.Point[]` | `getPoints(java.awt.Rectangle rect, java.awt.Component convertFromScreen)`
    `static int` | `getSplitPaneSize(javax.swing.JSplitPane splitPane)`
    `static java.awt.Color` | `grayScale(java.awt.Color color)`
    `static boolean` | `isSkinLFInstalled()`
    `static void` | `putClientProperty(java.awt.Component c, java.lang.Object key, java.lang.Object value)`
    `static void` | `removeClientProperty(java.awt.Component c, java.lang.Object key)`
    `static void` | `repaint(java.awt.Component comp)`
    `static void` | `revalidate(java.awt.Component comp)`
    `static void` | `setPlaf(java.lang.Class lookAndFeelClass)`
    `static void` | `setPlaf(java.lang.String lookAndFeelClassName)`
    `static void` | `setSplitDivider(javax.swing.JSplitPane split, float proportion)` Moves the supplied `JSplitPane` divider to the specified `proportion`.
    `static void` | `subtract(java.awt.Point p1, java.awt.Point p2)`
    `static java.awt.Component` | `toComponent(java.lang.Object obj)`
    `static void` | `translate(java.awt.Component src, java.awt.Polygon poly, java.awt.Component dest)`

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

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

- - ### Constructor Detail

    - #### SwingUtility

          public SwingUtility()

  - ### Method Detail

    - #### toComponent

          public static java.awt.Component toComponent(java.lang.Object obj)

    - #### revalidate

          public static void revalidate(java.awt.Component comp)

    - #### repaint

          public static void repaint(java.awt.Component comp)

    - #### drawRect

          public static void drawRect(java.awt.Graphics g,
                      java.awt.Rectangle r)

    - #### getChildPorts

          public static DockingPort[] getChildPorts(DockingPort port)

    - #### getPoints

          public static java.awt.Point[] getPoints(java.awt.Rectangle rect)

    - #### getPoints

          public static java.awt.Point[] getPoints(java.awt.Rectangle rect,
                                   java.awt.Component convertFromScreen)

    - #### centerOnScreen

          public static final void centerOnScreen(java.awt.Window window)

    - #### center

          public static void center(java.awt.Window window,
                    java.awt.Component parent)

    - #### getContentPane

          public static java.awt.Container getContentPane(java.awt.Component c)

    - #### setPlaf

          public static void setPlaf(java.lang.Class lookAndFeelClass)

    - #### setPlaf

          public static void setPlaf(java.lang.String lookAndFeelClassName)

    - #### add

          public static void add(java.awt.Point p1,
                 java.awt.Point p2)

    - #### subtract

          public static void subtract(java.awt.Point p1,
                      java.awt.Point p2)

    - #### translate

          public static void translate(java.awt.Component src,
                       java.awt.Polygon poly,
                       java.awt.Component dest)

    - #### focus

          public static void focus(java.awt.Component c)

    - #### getNearestFocusableComponent

          public static java.awt.Component getNearestFocusableComponent(java.awt.Component c)

    - #### getNearestFocusableComponent

          public static java.awt.Component getNearestFocusableComponent(java.awt.Component c,
                                                        java.awt.Container desiredRoot)

    - #### activateWindow

          public static void activateWindow(java.awt.Component c)

    - #### brighter

          public static java.awt.Color brighter(java.awt.Color color,
                                double factor)

      Parameters:
        `color` -
        `factor` -
      Returns:
        a new color, brighter than the one passed as argument by a percentage factor
        author Cyril Gambis - [Mar 17, 2005]

    - #### darker

          public static java.awt.Color darker(java.awt.Color color,
                              double factor)

      Parameters:
        `color` -
        `factor` -
      Returns:
        a new color, darker than the one passed as argument by a percentage factor
        author Cyril Gambis - [Mar 17, 2005]

    - #### grayScale

          public static java.awt.Color grayScale(java.awt.Color color)

      Parameters:
        `color` -
      Returns:
        the grey color corresponding to the color passed as parameter
        author Cyril Gambis - [Mar 17, 2005]

    - #### createImage

          public static java.awt.image.BufferedImage createImage(java.awt.Component comp)

    - #### getDividerProportion

          public static float getDividerProportion(javax.swing.JSplitPane splitPane)

    - #### getOtherComponent

          public static java.awt.Component getOtherComponent(javax.swing.JSplitPane split,
                                             java.awt.Component current)

    - #### putClientProperty

          public static void putClientProperty(java.awt.Component c,
                               java.lang.Object key,
                               java.lang.Object value)

    - #### getClientProperty

          public static java.lang.Object getClientProperty(java.awt.Component c,
                                           java.lang.Object key)

    - #### removeClientProperty

          public static void removeClientProperty(java.awt.Component c,
                                  java.lang.Object key)

    - #### getActiveWindow

          public static java.awt.Window getActiveWindow()

    - #### getSplitPaneSize

          public static int getSplitPaneSize(javax.swing.JSplitPane splitPane)

    - #### setSplitDivider

          public static void setSplitDivider(javax.swing.JSplitPane split,
                             float proportion)

      Moves the supplied `JSplitPane` divider to the specified `proportion`. Valid values for `proportion` range from `0.0F`to `1.0F`. For example, a `proportion` of `0.3F` will move the divider to 30% of the "size" (width for horizontal split, height for vertical split) of the split container that contains the specified `Dockable`. If a `proportion` of less than `0.0F` is supplied, the value` 0.0F` is used. If a `proportion` greater than `1.0F` is supplied, the value 1.0F is used.
      This method should be effective regardless of whether the split layout in question has been fully realized and is currently visible on the screen. This should alleviate common problems associated with setting percentages of unrealized `Component` dimensions, which are initially `0x0` before the `Component` has been rendered to the screen.
      If the specified `JSplitPane` is `null`, then this method returns with no action taken.
      Parameters:
        `split` - the `JSplitPane` whose divider location is to be set.
        `proportion` - a double-precision floating point value that specifies a percentage, from zero (top/left) to 1.0 (bottom/right)
      See Also:
        `getSplitPaneSize(JSplitPane)`, `JSplitPane.setDividerLocation(double)`

    - #### isSkinLFInstalled

          public static boolean isSkinLFInstalled()