Interface ComponentFactory

All Known Subinterfaces:
ComponentFactory2
All Known Implementing Classes:
DefaultComponentFactory

public interface ComponentFactory
An interface that defines the factory methods as used by the PanelBuilder and its subclasses.

The String arguments passed to the methods #createLabel(String), #createTitle(String), and #createSeparator(String, int) can contain an optional mnemonic marker. The mnemonic and mnemonic index are indicated by a single ampersand (&). For example "&Saveinvalid input: '&quot', or "Save &asinvalid input: '&quot'. To use the ampersand itself duplicate it, for example "Look&&Feelinvalid input: '&quot'.

Version:
$Revision: 1.8 $
Author:
Karsten Lentzsch
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    createLabel(String textWithMnemonic)
    Creates and returns a label with an optional mnemonic.
    createSeparator(String textWithMnemonic, int alignment)
    Creates and returns a labeled separator.
    createTitle(String textWithMnemonic)
    Creates and returns a title label that uses the foreground color and font of a TitledBorder.
  • Method Details

    • createLabel

      JLabel createLabel(String textWithMnemonic)
      Creates and returns a label with an optional mnemonic.

       createLabel("Name");       // No mnemonic
       createLabel("Ninvalid input: '&ame'");      // Mnemonic is 'a'
       createLabel("Save invalid input: '&as'");   // Mnemonic is the second 'a'
       createLabel("Lookinvalid input: '&'invalid input: '&Feel'"); // No mnemonic, text is Lookinvalid input: '&Feel'
       
      Parameters:
      textWithMnemonic - the label's text - may contain an ampersand (&) to mark a mnemonic
      Returns:
      an label with optional mnemonic
    • createTitle

      JLabel createTitle(String textWithMnemonic)
      Creates and returns a title label that uses the foreground color and font of a TitledBorder.

       createTitle("Name");       // No mnemonic
       createTitle("Ninvalid input: '&ame'");      // Mnemonic is 'a'
       createTitle("Save invalid input: '&as'");   // Mnemonic is the second 'a'
       createTitle("Lookinvalid input: '&'invalid input: '&Feel'"); // No mnemonic, text is Lookinvalid input: '&Feel'
       
      Parameters:
      textWithMnemonic - the label's text - may contain an ampersand (&) to mark a mnemonic
      Returns:
      an emphasized title label
    • createSeparator

      JComponent createSeparator(String textWithMnemonic, int alignment)
      Creates and returns a labeled separator. Useful to separate paragraphs in a panel, which is often a better choice than a TitledBorder.

       final int LEFT = SwingConstants.LEFT;
       createSeparator("Name",       LEFT); // No mnemonic
       createSeparator("Ninvalid input: '&ame'",      LEFT); // Mnemonic is 'a'
       createSeparator("Save invalid input: '&as'",   LEFT); // Mnemonic is the second 'a'
       createSeparator("Lookinvalid input: '&'invalid input: '&Feel'", LEFT); // No mnemonic, text is Lookinvalid input: '&Feel'
       
      Parameters:
      textWithMnemonic - the label's text - may contain an ampersand (&) to mark a mnemonic
      alignment - text alignment, one of SwingConstants.LEFT, SwingConstants.CENTER, SwingConstants.RIGHT
      Returns:
      a title label with separator on the side