public class DefaultComponentFactory extends Object implements ComponentFactory
ComponentFactory interface
 that creates UI components as required by the
 FormBuilder, ListViewBuilder, and other builders.
 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 and Description | 
|---|
| DefaultComponentFactory() | 
| Modifier and Type | Method and Description | 
|---|---|
| JButton | createButton(Action action)Creates and returns a button that is bound to the given Action. | 
| JLabel | createHeaderLabel(String markedText)Creates and returns a label intended for pane headers that uses
 a larger font than the control font and a special foreground color. | 
| 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. | 
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 mnemonicpublic 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 ComponentFactorytextWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicpublic JButton createButton(Action action)
JGButton is bound to some custom Action properties.
 This default implementation just returns a JButton.
createButton in interface ComponentFactoryaction - provides [bound] visual properties for the buttonpublic 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 mnemonicpublic JLabel createHeaderLabel(String markedText)
ComponentFactory
 If the label text is marked with the mnemonic marker '&',
 the mnemonic and mnemonic index will be configured.
 For example if markedText is "&Charge Codes", the text
 will be set to "Charge Codes", the mnemonic is 'C', and the
 mnemonic index is 0.
 A simple implementation may just delegate to
 ComponentFactory.createTitle(String).
createHeaderLabel in interface ComponentFactorymarkedText - the label text with optional mnemonic markerpublic 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 mnemonicpublic 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.RIGHTpublic 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 componentNullPointerException - if the label is nullIllegalArgumentException - if the label's horizontal alignment
      is not one of: SwingConstants.LEFT,
      SwingConstants.CENTER,
      SwingConstants.RIGHT.Copyright © 2002-2015 JGoodies Software GmbH. All Rights Reserved.