com.explodingpixels.macwidgets

## Class IAppWidgetFactory

- java.lang.Object
- - com.explodingpixels.macwidgets.IAppWidgetFactory

-     public class IAppWidgetFactory
      extends Object

  A factory for iApp style widgets.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JScrollPane` | `createScrollPane(Component view)` Creates an iApp style `JScrollPane`, with vertical and horizontal scrollbars shown as needed.
    `static JScrollPane` | `createScrollPane(Component view, int verticalScrollBarPolicy, int horizontalScrollBarPolicy)` Creates an iApp style `JScrollPane` using the given scroll bar policies.
    `static JComponent` | `createScrollPaneCorner()` Creates an iApp style scrollpane corner.
    `static JComponent` | `createScrollPaneCornerLowerLeft()` Creates an iApp style scrollpane corner.
    `static JScrollPane` | `makeIAppScrollPane(JScrollPane scrollPane)` Makes the given `JScrollPane` an iApp style scroll pane that looks like this:
    `static void` | `setIAppScrollBarButtonsSeparate(boolean buttonsApart)` Sets the default "buttons separate" status for scroll bars.

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

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

- - ### Method Detail

    - #### createScrollPane

          public static JScrollPane createScrollPane(Component view)

      Creates an iApp style `JScrollPane`, with vertical and horizontal scrollbars shown as needed. The increment/decrement buttons will be placed together or separatebased on the value of `IAppScrollBarUI.areButtonsSeparate()`.
      Parameters:
        `view` - the view to wrap inside the `JScrollPane`.
      Returns:
        an iApp style `JScrollPane`.
      See Also:
        `makeIAppScrollPane(javax.swing.JScrollPane)`

    - #### createScrollPane

          public static JScrollPane createScrollPane(Component view,
                                     int verticalScrollBarPolicy,
                                     int horizontalScrollBarPolicy)

      Creates an iApp style `JScrollPane` using the given scroll bar policies. The increment/decrement buttons will be placed together or separatebased on the value of `IAppScrollBarUI.areButtonsSeparate()`.
      Parameters:
        `view` - the view to wrap inside the `JScrollPane`.
        `verticalScrollBarPolicy` - the vertical scroll bar policy.
        `horizontalScrollBarPolicy` - the horizontal scroll bar policy.
      Returns:
        an iApp style `JScrollPane` using the given scroll bar policies.
      See Also:
        `makeIAppScrollPane(javax.swing.JScrollPane)`

    - #### makeIAppScrollPane

          public static JScrollPane makeIAppScrollPane(JScrollPane scrollPane)

      Makes the given `JScrollPane` an iApp style scroll pane that looks like this:
      Parameters:
        `scrollPane` - the `JScrollPane` to make an iApp style scroll pane.
      Returns:
        an iApp style scroll pane.

    - #### setIAppScrollBarButtonsSeparate

          public static void setIAppScrollBarButtonsSeparate(boolean buttonsApart)

      Sets the default "buttons separate" status for scroll bars. The default value is `false`, meaning that the buttons will be placed together at the right or bottom of the scroll bar. A value of `true` means that the buttons will be placed at opposite ends of the scroll bar.
      Parameters:
        `buttonsApart` - the "buttons apart" status.

    - #### createScrollPaneCorner

          public static JComponent createScrollPaneCorner()

      Creates an iApp style scrollpane corner.
      Returns:
        returns a `JComponent` that represents the scroll pane corner.

    - #### createScrollPaneCornerLowerLeft

          public static JComponent createScrollPaneCornerLowerLeft()

      Creates an iApp style scrollpane corner.
      Returns:
        returns a `JComponent` that represents the scroll pane corner.