|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jgoodies.forms.factories.DefaultComponentFactory
public class DefaultComponentFactory
A singleton implementation 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".
| Constructor Summary | |
|---|---|
DefaultComponentFactory()
|
|
| Method Summary | |
|---|---|
JButton |
createButton(Action action)
Creates and returns a button that is bound to the given Action. |
JLabel |
createLabel(String textWithMnemonic)
Creates and returns a label with an optional mnemonic. |
JLabel |
createReadOnlyLabel(String textWithMnemonic)
Creates and returns a label with an optional mnemonic that is intended to label a read-only component. |
JComponent |
createSeparator(JLabel label)
Creates and returns a labeled separator. |
JComponent |
createSeparator(String textWithMnemonic)
Creates and returns a labeled separator with the label in the left-hand side. |
JComponent |
createSeparator(String textWithMnemonic,
int alignment)
Creates and returns a labeled separator. |
JLabel |
createTitle(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. |
static void |
setTextAndMnemonic(JLabel label,
String textWithMnemonic)
Deprecated. Replaced by MnemonicUtils.configure(JLabel, String). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DefaultComponentFactory()
| Method Detail |
|---|
public static DefaultComponentFactory getInstance()
public JLabel createLabel(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 ComponentFactorytextWithMnemonic - the label's text -
may contain an ampersand (&) to mark a mnemonic
public JLabel createReadOnlyLabel(String textWithMnemonic)
createReadOnlyLabel("Name"); // No mnemonic
createReadOnlyLabel("N&ame"); // Mnemonic is 'a'
createReadOnlyLabel("Save &as"); // Mnemonic is the second 'a'
createReadOnlyLabel("Look&&Feel"); // No mnemonic, text is Look&Feel
createReadOnlyLabel in interface ComponentFactory2textWithMnemonic - the label's text -
may contain an ampersand (&) to mark a mnemonic
ComponentFactory2public JButton createButton(Action action)
JGButton is bound to some custom Action properties.
This default implementation just returns a JButton.
createButton in interface ComponentFactory2action - provides [bound] visual properties for the button
public JLabel createTitle(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 ComponentFactorytextWithMnemonic - the label's text -
may contain an ampersand (&) to mark a mnemonic
public JComponent createSeparator(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 JComponent createSeparator(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 ComponentFactorytextWithMnemonic - the label's text -
may contain an ampersand (&) to mark a mnemonicalignment - text alignment, one of SwingConstants.LEFT,
SwingConstants.CENTER, SwingConstants.RIGHT
public JComponent createSeparator(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
NullPointerException - if the label is null
IllegalArgumentException - if the label's horizontal alignment
is not one of: SwingConstants.LEFT,
SwingConstants.CENTER,
SwingConstants.RIGHT.
@Deprecated
public static void setTextAndMnemonic(JLabel label,
String textWithMnemonic)
MnemonicUtils.configure(JLabel, String).
label - the label that gets a mnemonictextWithMnemonic - the text with optional mnemonic marker
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||