Package com.jgoodies.forms.factories
Class DefaultComponentFactory
- java.lang.Object
-
- com.jgoodies.forms.factories.DefaultComponentFactory
-
- All Implemented Interfaces:
ComponentFactory
public final class DefaultComponentFactory extends java.lang.Object implements ComponentFactory
A singleton implementation of theComponentFactory
interface that creates UI components as required by thePanelBuilder
.The texts used in methods
#createLabel(String)
and#createTitle(String)
can contain an optional mnemonic marker. The mnemonic and mnemonic index are indicated by a single ampersand (&). For example "&Save", or "Save &as". To use the ampersand itself duplicate it, for example "Look&&Feel".- Version:
- $Revision$
- Author:
- Karsten Lentzsch
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.swing.JLabel
createLabel(java.lang.String textWithMnemonic)
Creates and returns a label with an optional mnemonic.javax.swing.JComponent
createSeparator(java.lang.String textWithMnemonic)
Creates and returns a labeled separator with the label in the left-hand side.javax.swing.JComponent
createSeparator(java.lang.String textWithMnemonic, int alignment)
Creates and returns a labeled separator.javax.swing.JComponent
createSeparator(javax.swing.JLabel label)
Creates and returns a labeled separator.javax.swing.JLabel
createTitle(java.lang.String textWithMnemonic)
Creates and returns a title label that uses the foreground color and font of aTitledBorder
.static DefaultComponentFactory
getInstance()
Returns the sole instance of this factory class.
-
-
-
Method Detail
-
getInstance
public static DefaultComponentFactory getInstance()
Returns the sole instance of this factory class.- Returns:
- the sole instance of this factory class
-
createLabel
public javax.swing.JLabel createLabel(java.lang.String textWithMnemonic)
Creates and returns a label with an optional mnemonic.createLabel("Name"); // No mnemonic createLabel("N&ame"); // Mnemonic is 'a' createLabel("Save &as"); // Mnemonic is the second 'a' createLabel("Look&&Feel"); // No mnemonic, text is Look&Feel
- Specified by:
createLabel
in interfaceComponentFactory
- Parameters:
textWithMnemonic
- the label's text - may contain an ampersand (&) to mark a mnemonic- Returns:
- an label with optional mnemonic
-
createTitle
public javax.swing.JLabel createTitle(java.lang.String textWithMnemonic)
Creates and returns a title label that uses the foreground color and font of aTitledBorder
.createTitle("Name"); // No mnemonic createTitle("N&ame"); // Mnemonic is 'a' createTitle("Save &as"); // Mnemonic is the second 'a' createTitle("Look&&Feel"); // No mnemonic, text is Look&Feel
- Specified by:
createTitle
in interfaceComponentFactory
- Parameters:
textWithMnemonic
- the label's text - may contain an ampersand (&) to mark a mnemonic- Returns:
- an emphasized title label
-
createSeparator
public javax.swing.JComponent createSeparator(java.lang.String textWithMnemonic)
Creates and returns a labeled separator with the label in the left-hand side. Useful to separate paragraphs in a panel; often a better choice than aTitledBorder
.createSeparator("Name"); // No mnemonic createSeparator("N&ame"); // Mnemonic is 'a' createSeparator("Save &as"); // Mnemonic is the second 'a' createSeparator("Look&&Feel"); // No mnemonic, text is Look&Feel
- Parameters:
textWithMnemonic
- the label's text - may contain an ampersand (&) to mark a mnemonic- Returns:
- a title label with separator on the side
-
createSeparator
public javax.swing.JComponent createSeparator(java.lang.String textWithMnemonic, int alignment)
Creates and returns a labeled separator. Useful to separate paragraphs in a panel, which is often a better choice than aTitledBorder
.final int LEFT = SwingConstants.LEFT; createSeparator("Name", LEFT); // No mnemonic createSeparator("N&ame", LEFT); // Mnemonic is 'a' createSeparator("Save &as", LEFT); // Mnemonic is the second 'a' createSeparator("Look&&Feel", LEFT); // No mnemonic, text is Look&Feel
- Specified by:
createSeparator
in interfaceComponentFactory
- Parameters:
textWithMnemonic
- the label's text - may contain an ampersand (&) to mark a mnemonicalignment
- text alignment, one ofSwingConstants.LEFT
,SwingConstants.CENTER
,SwingConstants.RIGHT
- Returns:
- a separator with title label
-
createSeparator
public javax.swing.JComponent createSeparator(javax.swing.JLabel label)
Creates and returns a labeled separator. Useful to separate paragraphs in a panel, which is often a better choice than aTitledBorder
.The label's position is determined by the label's horizontal alignment, which must be one of:
SwingConstants.LEFT
,SwingConstants.CENTER
,SwingConstants.RIGHT
.TODO: Since this method has been marked public in version 1.0.6, we need to precisely describe the semantic of this method.
TODO: Check if we can relax the constraint for the label alignment and also accept LEADING and TRAILING.
- Parameters:
label
- the title label component- Returns:
- a separator with title label
- Throws:
java.lang.NullPointerException
- if the label isnull
- Since:
- 1.0.6
-
-