FormBuilder. However, this class
     will remain in the Forms library for the next versions.@Deprecated public class PanelBuilder extends AbstractFormBuilder<PanelBuilder>
FormLayout
 to lay out JPanels. It provides convenience methods
 to set a default border and to add labels, titles and titled separators.
 The PanelBuilder is the working horse for layouts when more specialized
 builders like the ButtonBarBuilder or DefaultFormBuilder
 are inappropriate.
The Forms tutorial includes several examples that present and compare different style to build with the PanelBuilder: static row numbers vs. row variable, explicit CellConstraints vs. builder cursor, static rows vs. dynamically added rows. Also, you may check out the Tips & Tricks section of the Forms HTML documentation.
 The text arguments passed to the methods #addLabel,
 #addTitle, and #addSeparator 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".
 Example:
 This example creates a panel with 3 columns and 3 rows.
 
 FormLayout layout = new FormLayout(
      "pref, $lcgap, 50dlu, $rgap, default",  // columns
      "pref, $lg, pref, $lg, pref");          // rows
 PanelBuilder builder = new PanelBuilder(layout);
 builder.addLabel("&Title:",        CC.xy  (1, 1));
 builder.add(new JTextField(),      CC.xywh(3, 1, 3, 1));
 builder.addLabel("&Price:",        CC.xy  (1, 3));
 builder.add(new JTextField(),      CC.xy  (3, 3));
 builder.addLabel("&Author:",       CC.xy  (1, 5));
 builder.add(new JTextField(),      CC.xy  (3, 5));
 builder.add(new JButton("?"), CC.xy  (5, 5));
 return builder.getPanel();
 ComponentFactory, 
I15dPanelBuilder, 
DefaultFormBuildercurrentCellConstraints| Constructor and Description | 
|---|
| PanelBuilder(FormLayout layout)Deprecated.  Constructs a  PanelBuilderfor the given
 layout. | 
| PanelBuilder(FormLayout layout,
            JPanel panel)Deprecated.  Constructs a  PanelBuilderfor the given
 FormLayout and layout container. | 
| Modifier and Type | Method and Description | 
|---|---|
| Component | add(Component component,
   CellConstraints cellConstraints)Deprecated.  Adds a component to the panel using the given cell constraints. | 
| JLabel | add(JLabel label,
   CellConstraints labelConstraints,
   Component component,
   CellConstraints componentConstraints)Deprecated.  Adds a label and component to the panel using the given cell constraints. | 
| JLabel | addLabel(String textWithMnemonic)Deprecated.  Adds a textual label to the form using the default constraints. | 
| JLabel | addLabel(String textWithMnemonic,
        CellConstraints constraints)Deprecated.  Adds a textual label to the form using the specified constraints. | 
| JLabel | addLabel(String textWithMnemonic,
        CellConstraints labelConstraints,
        Component component,
        CellConstraints componentConstraints)Deprecated.  Adds a label and component to the panel using the given cell constraints. | 
| JLabel | addLabel(String textWithMnemonic,
        String encodedConstraints)Deprecated.  Adds a textual label to the form using the specified constraints. | 
| JLabel | addROLabel(String textWithMnemonic)Deprecated.  Adds a textual label intended for labeling read-only components
 to the form using the default constraints. | 
| JLabel | addROLabel(String textWithMnemonic,
          CellConstraints constraints)Deprecated.  Adds a textual label intended for labeling read-only components
 to the form using the specified constraints. | 
| JLabel | addROLabel(String textWithMnemonic,
          CellConstraints labelConstraints,
          Component component,
          CellConstraints componentConstraints)Deprecated.  Adds a label and component to the panel using the given cell constraints. | 
| JLabel | addROLabel(String textWithMnemonic,
          String encodedConstraints)Deprecated.  Adds a textual label intended for labeling read-only components
 to the form using the specified constraints. | 
| JComponent | addSeparator(String textWithMnemonic)Deprecated.  Adds a titled separator to the form that spans all columns. | 
| JComponent | addSeparator(String textWithMnemonic,
            CellConstraints constraints)Deprecated.  Adds a titled separator to the form using the specified constraints. | 
| JComponent | addSeparator(String textWithMnemonic,
            int columnSpan)Deprecated.  Adds a titled separator to the form that spans the specified columns. | 
| JComponent | addSeparator(String textWithMnemonic,
            String encodedConstraints)Deprecated.  Adds a titled separator to the form using the specified constraints. | 
| JLabel | addTitle(String textWithMnemonic)Deprecated.  Adds a title label to the form using the default constraints. | 
| JLabel | addTitle(String textWithMnemonic,
        CellConstraints constraints)Deprecated.  Adds a title label to the form using the specified constraints. | 
| JLabel | addTitle(String textWithMnemonic,
        String encodedConstraints)Deprecated.  Adds a title label to the form using the specified constraints. | 
| JPanel | build()Deprecated.  Returns the panel used to build the form. | 
| PanelBuilder | focusTraversal(FocusTraversalPolicy policy)Deprecated.  Sets the panel's focus traversal policy and sets the panel
 as focus traversal policy provider. | 
| protected boolean | isLabelForApplicable(JLabel label,
                    Component component)Deprecated.  Checks and answers whether the given component shall be set
 as component for a previously added label using
  JLabel.setLabelFor(Component). | 
| PanelBuilder | labelForFeatureEnabled(boolean b)Deprecated.  Enables or disables the setLabelFor feature for this PanelBuilder. | 
| protected void | setLabelFor(JLabel label,
           Component component)Deprecated.  Sets  labelas labeling label forcomponentor an
 appropriate child. | 
add, add, appendColumn, appendColumn, appendGlueColumn, appendGlueRow, appendLabelComponentsGapColumn, appendParagraphGapRow, appendRelatedComponentsGapColumn, appendRelatedComponentsGapRow, appendRow, appendRow, appendUnrelatedComponentsGapColumn, appendUnrelatedComponentsGapRow, cellConstraints, createLeftAdjustedConstraints, getColumn, getColumnIncrementSign, getLeadingColumn, getRow, isLeftToRight, nextColumn, nextColumn, nextLine, nextLine, nextRow, nextRow, setAlignment, setBounds, setColumn, setColumnSpan, setExtent, setHAlignment, setLeftToRight, setOrigin, setRow, setRowSpan, setVAlignmentbackground, border, border, createComponentFactory, getColumnCount, getComponentFactory, getContainer, getLayout, getPanel, getRowCount, opaque, padding, padding, setComponentFactorypublic PanelBuilder(FormLayout layout)
PanelBuilder for the given
 layout. Uses an instance of JPanel as layout container
 with the given layout as layout manager.layout - the FormLayout to useNullPointerException - if layout is nullpublic PanelBuilder(FormLayout layout, JPanel panel)
PanelBuilder for the given
 FormLayout and layout container.layout - the FormLayout to usepanel - the layout container to build onNullPointerException - if layout or container is nullpublic PanelBuilder focusTraversal(FocusTraversalPolicy policy)
builder.getPanel().setFocusTraversalPolicy(policy); builder.getPanel().setFocusTraversalPolicyProvider(true);
policy - the focus traversal policy that will manage
        keyboard traversal of the children in this builder's panelContainer.setFocusTraversalPolicy(FocusTraversalPolicy), 
Container.setFocusTraversalPolicyProvider(boolean)public PanelBuilder labelForFeatureEnabled(boolean b)
FormsSetup.getLabelForFeatureEnabledDefault().
 It is globally disabled by default.b - true for enabled, false for disabledpublic final JPanel build()
build in class AbstractBuilder<PanelBuilder>public final JLabel addLabel(String textWithMnemonic)
 addLabel("Name:");       // No Mnemonic
 addLabel("N&ame:");      // Mnemonic is 'a'
 addLabel("Save &as:");   // Mnemonic is the second 'a'
 addLabel("Look&&Feel:"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicComponentFactorypublic final JLabel addLabel(String textWithMnemonic, CellConstraints constraints)
 addLabel("Name:",       CC.xy(1, 1)); // No Mnemonic
 addLabel("N&ame:",      CC.xy(1, 1)); // Mnemonic is 'a'
 addLabel("Save &as:",   CC.xy(1, 1)); // Mnemonic is the second 'a'
 addLabel("Look&&Feel:", CC.xy(1, 1)); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicconstraints - the label's cell constraintsComponentFactorypublic final JLabel addLabel(String textWithMnemonic, String encodedConstraints)
 addLabel("Name:",       "1, 1"); // No Mnemonic
 addLabel("N&ame:",      "1, 1"); // Mnemonic is 'a'
 addLabel("Save &as:",   "1, 1"); // Mnemonic is the second 'a'
 addLabel("Look&&Feel:", "1, 1"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraintsComponentFactorypublic final JLabel addLabel(String textWithMnemonic, CellConstraints labelConstraints, Component component, CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).
 Note: The CellConstraints objects for the label
 and the component must be different. Cell constraints are implicitly
 cloned by the FormLayout when added to the container.
 However, in this case you may be tempted to reuse a
 CellConstraints object in the same way as with many other
 builder methods that require a single CellConstraints
 parameter.
 The pitfall is that the methods CellConstraints.xy*(...)
 just set the coordinates but do not create a new instance.
 And so the second invocation of xy*(...) overrides
 the settings performed in the first invocation before the object
 is cloned by the FormLayout.
Wrong:
 builder.addLabel(
     "&Name:",            // Mnemonic is 'N'
     cc.xy(1, 7),         // will be modified by the code below
     nameField,
     cc.xy(3, 7)          // sets the single instance to (3, 7)
 );
 
 Correct:
 builder.addLabel(
     "&Name:",
     CC.xy(1, 7),         // creates an instance
     nameField,
     CC.xy(3, 7)          // creates another instance
 );
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemoniclabelConstraints - the label's cell constraintscomponent - the component to addcomponentConstraints - the component's cell constraintsIllegalArgumentException - if the same cell constraints instance
     is used for the label and the componentJLabel.setLabelFor(java.awt.Component), 
ComponentFactory, 
DefaultFormBuilderpublic final JLabel addROLabel(String textWithMnemonic)
 addROLabel("Name:");       // No Mnemonic
 addROLabel("N&ame:");      // Mnemonic is 'a'
 addROLabel("Save &as:");   // Mnemonic is the second 'a'
 addROLabel("Look&&Feel:"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicpublic final JLabel addROLabel(String textWithMnemonic, CellConstraints constraints)
 addROLabel("Name:",       CC.xy(1, 1)); // No Mnemonic
 addROLabel("N&ame:",      CC.xy(1, 1)); // Mnemonic is 'a'
 addROLabel("Save &as:",   CC.xy(1, 1)); // Mnemonic is the second 'a'
 addROLabel("Look&&Feel:", CC.xy(1, 1)); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicconstraints - the label's cell constraintspublic final JLabel addROLabel(String textWithMnemonic, String encodedConstraints)
 addROLabel("Name:",       "1, 1"); // No Mnemonic
 addROLabel("N&ame:",      "1, 1"); // Mnemonic is 'a'
 addROLabel("Save &as:",   "1, 1"); // Mnemonic is the second 'a'
 addROLabel("Look&&Feel:", "1, 1"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraintspublic final JLabel addROLabel(String textWithMnemonic, CellConstraints labelConstraints, Component component, CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).
 Note: The CellConstraints objects for the label
 and the component must be different. Cell constraints are implicitly
 cloned by the FormLayout when added to the container.
 However, in this case you may be tempted to reuse a
 CellConstraints object in the same way as with many other
 builder methods that require a single CellConstraints
 parameter.
 The pitfall is that the methods CellConstraints.xy*(...)
 just set the coordinates but do not create a new instance.
 And so the second invocation of xy*(...) overrides
 the settings performed in the first invocation before the object
 is cloned by the FormLayout.
Wrong:
 builder.addROLabel(
     "&Name:",            // Mnemonic is 'N'
     cc.xy(1, 7),         // will be modified by the code below
     nameField,
     cc.xy(3, 7)          // sets the single instance to (3, 7)
 );
 
 Correct:
 builder.addROLabel(
     "&Name:",
     CC.xy(1, 7),          // creates an instance
     nameField,
     CC.xy(3, 7)           // creates another instance
 );
 textWithMnemonic - the label's text -
     may contain an ampersand (&) to mark a mnemoniclabelConstraints - the label's cell constraintscomponent - the component to addcomponentConstraints - the component's cell constraintsIllegalArgumentException - if the same cell constraints instance
     is used for the label and the componentJLabel.setLabelFor(java.awt.Component), 
DefaultFormBuilderpublic final JLabel addTitle(String textWithMnemonic)
 addTitle("Name");       // No mnemonic
 addTitle("N&ame");      // Mnemonic is 'a'
 addTitle("Save &as");   // Mnemonic is the second 'a'
 addTitle("Look&&Feel"); // No mnemonic, text is Look&Feel
 textWithMnemonic - the title label's text -
     may contain an ampersand (&) to mark a mnemonicComponentFactorypublic final JLabel addTitle(String textWithMnemonic, CellConstraints constraints)
 addTitle("Name",       CC.xy(1, 1)); // No mnemonic
 addTitle("N&ame",      CC.xy(1, 1)); // Mnemonic is 'a'
 addTitle("Save &as",   CC.xy(1, 1)); // Mnemonic is the second 'a'
 addTitle("Look&&Feel", CC.xy(1, 1)); // No mnemonic, text is Look&Feel
 textWithMnemonic - the title label's text -
     may contain an ampersand (&) to mark a mnemonicconstraints - the separator's cell constraintsComponentFactorypublic final JLabel addTitle(String textWithMnemonic, String encodedConstraints)
 addTitle("Name",       "1, 1"); // No mnemonic
 addTitle("N&ame",      "1, 1"); // Mnemonic is 'a'
 addTitle("Save &as",   "1, 1"); // Mnemonic is the second 'a'
 addTitle("Look&&Feel", "1, 1"); // No mnemonic, text is Look&Feel
 textWithMnemonic - the title label's text -
     may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraintsComponentFactorypublic final JComponent addSeparator(String textWithMnemonic)
 addSeparator("Name");       // No Mnemonic
 addSeparator("N&ame");      // Mnemonic is 'a'
 addSeparator("Save &as");   // Mnemonic is the second 'a'
 addSeparator("Look&&Feel"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the separator label's text -
     may contain an ampersand (&) to mark a mnemonicpublic final JComponent addSeparator(String textWithMnemonic, CellConstraints constraints)
 addSeparator("Name",       CC.xy(1, 1)); // No Mnemonic
 addSeparator("N&ame",      CC.xy(1, 1)); // Mnemonic is 'a'
 addSeparator("Save &as",   CC.xy(1, 1)); // Mnemonic is the second 'a'
 addSeparator("Look&&Feel", CC.xy(1, 1)); // No mnemonic, text is "look&feel"
 textWithMnemonic - the separator label's text -
     may contain an ampersand (&) to mark a mnemonicconstraints - the separator's cell constraintspublic final JComponent addSeparator(String textWithMnemonic, String encodedConstraints)
 addSeparator("Name",       "1, 1"); // No Mnemonic
 addSeparator("N&ame",      "1, 1"); // Mnemonic is 'a'
 addSeparator("Save &as",   "1, 1"); // Mnemonic is the second 'a'
 addSeparator("Look&&Feel", "1, 1"); // No mnemonic, text is "look&feel"
 textWithMnemonic - the separator label's text -
     may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraintspublic final JComponent addSeparator(String textWithMnemonic, int columnSpan)
 addSeparator("Name",       3); // No Mnemonic
 addSeparator("N&ame",      3); // Mnemonic is 'a'
 addSeparator("Save &as",   3); // Mnemonic is the second 'a'
 addSeparator("Look&&Feel", 3); // No mnemonic, text is "look&feel"
 textWithMnemonic - the separator label's text -
     may contain an ampersand (&) to mark a mnemoniccolumnSpan - the number of columns the separator spanspublic final JLabel add(JLabel label, CellConstraints labelConstraints, Component component, CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).
 Note: The CellConstraints objects for the label
 and the component must be different. Cell constraints are implicitly
 cloned by the FormLayout when added to the container.
 However, in this case you may be tempted to reuse a
 CellConstraints object in the same way as with many other
 builder methods that require a single CellConstraints
 parameter.
 The pitfall is that the methods CellConstraints.xy*(...)
 just set the coordinates but do not create a new instance.
 And so the second invocation of xy*(...) overrides
 the settings performed in the first invocation before the object
 is cloned by the FormLayout.
Wrong:
 CellConstraints cc = new CellConstraints();
 builder.add(
     nameLabel,
     cc.xy(1, 7),         // will be modified by the code below
     nameField,
     cc.xy(3, 7)          // sets the single instance to (3, 7)
 );
 
 Correct:
 builder.add(
     nameLabel,
     CC.xy(1, 7),         // creates an instance
     nameField,
     CC.xy(3, 7)          // creates another instance
 );
 label - the label to addlabelConstraints - the label's cell constraintscomponent - the component to addcomponentConstraints - the component's cell constraintsIllegalArgumentException - if the same cell constraints instance
     is used for the label and the componentJLabel.setLabelFor(java.awt.Component), 
DefaultFormBuilderpublic Component add(Component component, CellConstraints cellConstraints)
add in class AbstractFormBuilder<PanelBuilder>component - the component to addcellConstraints - the component's cell constraintsisLabelForApplicable(JLabel, Component)protected boolean isLabelForApplicable(JLabel label, Component component)
JLabel.setLabelFor(Component).
 This default implementation checks whether the component is focusable,
 and - if a JComponent - whether it is already labeled by a JLabel.
 Subclasses may override.label - the candidate for labeling componentcomponent - the component that could be labeled by labelprotected void setLabelFor(JLabel label, Component component)
label as labeling label for component or an
 appropriate child. In case of a JScrollPane as given component,
 this default implementation labels the view of the scroll pane's
 viewport.label - the labeling labelcomponent - the component to be labeled, or the parent of
   the labeled componentCopyright © 2002-2015 JGoodies Software GmbH. All Rights Reserved.