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