com.explodingpixels.macwidgets

## Class MacWidgetFactory

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

-     public class MacWidgetFactory
      extends Object

  A factory for creating various types of Mac style widgets. See each method's javadoc for detailed descriptions of the components, as well as screen shots and links to specific sections in Apples Human Interface Guidelines.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MacWidgetFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ComponentBottomBar` | `createComponentStatusBar()`
    `static JLabel` | `createEmphasizedLabel(String text)`
    `static JTable` | `createITunesTable(TableModel tableModel)` Creates an iTunes style table like the one listed below: Sorting indicators will be rendered if a `TableUtils.SortDelegate` is installed on the associated `JTable` via the `TableUtils.makeSortable(javax.swing.JTable, com.explodingpixels.widgets.TableUtils.SortDelegate)` method.
    `static JScrollPane` | `createSourceListScrollPane(JComponent content)`
    `static JComponent` | `createSpacer(int width, int height)` Creates a transparent spacer of the given width and height.
    `static JSplitPane` | `createSplitPaneForSourceList(SourceList sourceList, JComponent component)`
    `static JLabel` | `makeEmphasizedLabel(JLabel label)`
    `static JLabel` | `makeEmphasizedLabel(JLabel label, Color focusedColor, Color unfocusedColor, Color emphasisColor)`
    `static JScrollPane` | `makeSourceListScrollPane(JScrollPane scrollPane)`

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

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

- - ### Constructor Detail

    - #### MacWidgetFactory

          public MacWidgetFactory()

  - ### Method Detail

    - #### createITunesTable

          public static JTable createITunesTable(TableModel tableModel)

      Creates an iTunes style table like the one listed below:
      Sorting indicators will be rendered if a `TableUtils.SortDelegate` is installed on the associated `JTable` via the `TableUtils.makeSortable(javax.swing.JTable, com.explodingpixels.widgets.TableUtils.SortDelegate)` method.

      To wrap this table in an iApp style `JScrollPane`, see `IAppWidgetFactory.createScrollPane(java.awt.Component)`;

    - #### createComponentStatusBar

          public static ComponentBottomBar createComponentStatusBar()

    - #### createSpacer

          public static JComponent createSpacer(int width,
                                int height)

      Creates a transparent spacer of the given width and height. If you don't care about a particular dimension, that is, you only want a horiztonal spacer, than simply provide zero for the value your not interested in.
      Parameters:
        `width` - the width of the spacer - zero if the width doesn't matter.
        `height` - the height of the spacer - zero if the height doesn't matter.
      Returns:
        a transparent spacer of the given size.

    - #### createEmphasizedLabel

          public static JLabel createEmphasizedLabel(String text)

    - #### makeEmphasizedLabel

          public static JLabel makeEmphasizedLabel(JLabel label)

    - #### makeEmphasizedLabel

          public static JLabel makeEmphasizedLabel(JLabel label,
                                   Color focusedColor,
                                   Color unfocusedColor,
                                   Color emphasisColor)

    - #### createSplitPaneForSourceList

          public static JSplitPane createSplitPaneForSourceList(SourceList sourceList,
                                                JComponent component)

    - #### createSourceListScrollPane

          public static JScrollPane createSourceListScrollPane(JComponent content)

    - #### makeSourceListScrollPane

          public static JScrollPane makeSourceListScrollPane(JScrollPane scrollPane)