com.explodingpixels.macwidgets
Class MacWidgetFactory

java.lang.Object
  extended by 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
MacWidgetFactory()
           
 
Method Summary
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)