|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jgoodies.forms.factories.DefaultComponentFactory
public final class DefaultComponentFactory
A singleton implementaton of the ComponentFactory
interface
that creates UI components as required by the
PanelBuilder
.
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".
Nested Class Summary | |
---|---|
private static class |
DefaultComponentFactory.TitledSeparatorLayout
A layout for the title label and separator(s) in titled separators. |
private static class |
DefaultComponentFactory.TitleLabel
A label that uses the TitleBorder font and color. |
Field Summary | |
---|---|
private static DefaultComponentFactory |
INSTANCE
Holds the single instance of this class. |
private static char |
MNEMONIC_MARKER
The character used to indicate the mnemonic position for labels. |
Constructor Summary | |
---|---|
private |
DefaultComponentFactory()
|
Method Summary | |
---|---|
javax.swing.JLabel |
createLabel(java.lang.String textWithMnemonic)
Creates and returns a label with an optional mnemonic. |
javax.swing.JComponent |
createSeparator(javax.swing.JLabel label)
Creates and returns a labeled separator. |
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.JLabel |
createTitle(java.lang.String textWithMnemonic)
Creates and returns a title label that uses the foreground color and font of a TitledBorder . |
static DefaultComponentFactory |
getInstance()
Returns the sole instance of this factory class. |
private static void |
setTextAndMnemonic(javax.swing.JLabel label,
java.lang.String textWithMnemonic)
Sets the text of the given label and optionally a mnemonic. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final DefaultComponentFactory INSTANCE
private static final char MNEMONIC_MARKER
Constructor Detail |
---|
private DefaultComponentFactory()
Method Detail |
---|
public static DefaultComponentFactory getInstance()
public javax.swing.JLabel createLabel(java.lang.String textWithMnemonic)
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
createLabel
in interface ComponentFactory
textWithMnemonic
- the label's text -
may contain an ampersand (&) to mark a mnemonic
public javax.swing.JLabel createTitle(java.lang.String textWithMnemonic)
TitledBorder
.
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
createTitle
in interface ComponentFactory
textWithMnemonic
- the label's text -
may contain an ampersand (&) to mark a mnemonic
public javax.swing.JComponent createSeparator(java.lang.String textWithMnemonic)
TitledBorder
.
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
textWithMnemonic
- the label's text -
may contain an ampersand (&) to mark a mnemonic
public javax.swing.JComponent createSeparator(java.lang.String textWithMnemonic, int alignment)
TitledBorder
.
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
createSeparator
in interface ComponentFactory
textWithMnemonic
- the label's text -
may contain an ampersand (&) to mark a mnemonicalignment
- text alignment, one of SwingConstants.LEFT
,
SwingConstants.CENTER
, SwingConstants.RIGHT
public javax.swing.JComponent createSeparator(javax.swing.JLabel label)
TitledBorder
.
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.
label
- the title label component
java.lang.NullPointerException
- if the label is null
private static void setTextAndMnemonic(javax.swing.JLabel label, java.lang.String textWithMnemonic)
label
- the label that gets a mnemonictextWithMnemonic
- the text with optional mnemonic marker
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |