|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jgoodies.forms.builder.AbstractBuilder
com.jgoodies.forms.builder.AbstractFormBuilder
com.jgoodies.forms.builder.PanelBuilder
public class PanelBuilder
An general purpose panel builder that uses the FormLayoutJPanels. It provides convenience method
to set a default border and to add labels, titles and titled separators.
ButtonBarBuilder or DefaultFormBuilder#addLabel
#addTitle, and #addSeparator can contai
an optional mnemonic marker. The mnemonic and mnemonic inde
are indicated by a single ampersand (&). For exampl
"&Save", or "Save &as"
To use the ampersand itself duplicate it, for exampl
"Look&&Feel".
Example:
ComponentFactory,
I15dPanelBuilder,
DefaultFormBuilder| Field Summary |
|---|
| Fields inherited from class com.jgoodies.forms.builder.AbstractBuilder |
|---|
currentCellConstraints |
| Constructor Summary | |
|---|---|
PanelBuilder(FormLayout layout)
Constructs a PanelBuilder for the give
layout. |
|
PanelBuilder(FormLayout layout,
JPanel panel)
Constructs a PanelBuilder for the give
FormLayout and layout container. |
|
| Method Summary | |
|---|---|
Component |
add(Component component,
CellConstraints cellConstraints)
Adds a component to the panel using the given cell constraints. |
JLabel |
add(JLabel label,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
Adds a label and component to the panel using the given cell constraints. |
JLabel |
addLabel(String textWithMnemonic)
Adds a textual label to the form using the default constraints. |
JLabel |
addLabel(String textWithMnemonic,
CellConstraints constraints)
Adds a textual label to the form using the specified constraints. |
JLabel |
addLabel(String textWithMnemonic,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
Adds a label and component to the panel using the given cell constraints. |
JLabel |
addLabel(String textWithMnemonic,
String encodedConstraints)
Adds a textual label to the form using the specified constraints. |
JLabel |
addROLabel(String textWithMnemonic)
Adds a textual label intended for labeling read-only component to the form using the default constraints. |
JLabel |
addROLabel(String textWithMnemonic,
CellConstraints constraints)
Adds a textual label intended for labeling read-only component to the form using the specified constraints. |
JLabel |
addROLabel(String textWithMnemonic,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
Adds a label and component to the panel using the given cell constraints. |
JLabel |
addROLabel(String textWithMnemonic,
String encodedConstraints)
Adds a textual label intended for labeling read-only component to the form using the specified constraints. |
JComponent |
addSeparator(String textWithMnemonic)
Adds a titled separator to the form that spans all columns. |
JComponent |
addSeparator(String textWithMnemonic,
CellConstraints constraints)
Adds a titled separator to the form using the specified constraints. |
JComponent |
addSeparator(String textWithMnemonic,
int columnSpan)
Adds a titled separator to the form that spans the specified columns. |
JComponent |
addSeparator(String textWithMnemonic,
String encodedConstraints)
Adds a titled separator to the form using the specified constraints. |
JLabel |
addTitle(String textWithMnemonic)
Adds a title label to the form using the default constraints. |
JLabel |
addTitle(String textWithMnemonic,
CellConstraints constraints)
Adds a title label to the form using the specified constraints. |
JLabel |
addTitle(String textWithMnemonic,
String encodedConstraints)
Adds a title label to the form using the specified constraints. |
PanelBuilder |
background(Color background)
Sets the panel's background color and the panel to be opaque. |
PanelBuilder |
border(Border border)
Sets the panel's border. |
PanelBuilder |
border(String emptyBorderSpec)
Sets the panel's border as an EmptyBorder using the given specificatio for the top, left, bottom, right in DLU. |
JPanel |
build()
Returns the panel used to build the form. |
PanelBuilder |
focusTraversal(FocusTraversalPolicy policy)
Sets the panel's focus traversal policy and sets the pane as focus traversal policy provider. |
static boolean |
getLabelForFeatureEnabledDefault()
Returns the global default for the enablement of the setLabelFor feature. |
static boolean |
getOpaqueDefault()
|
JPanel |
getPanel()
Returns the panel used to build the form. |
protected boolean |
isLabelForApplicable(JLabel label,
Component component)
Checks and answers whether the given component shall be se as component for a previously added label usin JLabel.setLabelFor(Component). |
PanelBuilder |
labelForFeatureEnabled(boolean b)
Enables or disables the setLabelFor feature for this PanelBuilder. |
PanelBuilder |
opaque(boolean b)
Sets the panel's opaque state. |
void |
setBorder(Border border)
Deprecated. Replaced by border(Border) |
void |
setDefaultDialogBorder()
Deprecated. Replaced by #border(Borders.DIALOG) |
protected void |
setLabelFor(JLabel label,
Component component)
Sets label as labeling label for component or a
appropriate child. |
static void |
setLabelForFeatureEnabledDefault(boolean b)
Sets the default value for the setLabelFor feature enablement. |
void |
setOpaque(boolean b)
Deprecated. Replaced by opaque(boolean) |
static void |
setOpaqueDefault(boolean b)
Sets the global default value for a builder's opaque stat that can be overridden per builder. |
| Methods inherited from class com.jgoodies.forms.builder.AbstractBuilder |
|---|
createComponentFactory, getColumnCount, getComponentFactory, getComponentFactoryDefault, getContainer, getLayout, getRowCount, setComponentFactory, setComponentFactoryDefault |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PanelBuilder(FormLayout layout)
PanelBuilder for the give
layout. Uses an instance of JPanel as layout containe
with the given layout as layout manager.
layout - the FormLayout to use
NullPointerException - if layout is null
public PanelBuilder(FormLayout layout,
JPanel panel)
PanelBuilder for the give
FormLayout and layout container.
layout - the FormLayout to usepanel - the layout container to build on
NullPointerException - if layout or container is null| Method Detail |
|---|
public static boolean getLabelForFeatureEnabledDefault()
labelForFeatureEnabled(boolean)
The feature is globally disabled by default.
public static void setLabelForFeatureEnabledDefault(boolean b)
labelForFeatureEnabled(boolean)
The default value is used to set the initial PanelBuilde
setting for this feature
The feature is globally disabled by default.
b - true for globally enabled, false for globally disabledpublic static boolean getOpaqueDefault()
public static void setOpaqueDefault(boolean b)
false
in other words, panels will not be opaque.
b - the new valuepublic final JPanel getPanel()
build().
public PanelBuilder background(Color background)
background - the color to set as new backgroundJComponent.setBackground(Color)public PanelBuilder border(Border border)
border - the border to setJComponent.setBorder(Border)public PanelBuilder border(String emptyBorderSpec)
setBorder(Borders.createEmptyBorder(emptyBorderSpec)).
emptyBorderSpec - describes the top, left, bottom, right size
of the EmptyBorder to createBorders.createEmptyBorder(String)public PanelBuilder opaque(boolean b)
b - true for opaque, false for non-opaqueJComponent.setOpaque(boolean)public PanelBuilder focusTraversal(FocusTraversalPolicy policy)
policy - the focus traversal policy that will manag
keyboard traversal of the children in this builder's panelContainer.setFocusTraversalPolicy(FocusTraversalPolicy),
Container.setFocusTraversalPolicyProvider(boolean)public PanelBuilder labelForFeatureEnabled(boolean b)
getLabelForFeatureEnabledDefault(). It is globally disable
by default.
b - true for enabled, false for disabled@Deprecated public void setBorder(Border border)
border(Border)
border - the border to setJComponent.setBorder(Border)@Deprecated public void setDefaultDialogBorder()
#border(Borders.DIALOG)
Borders@Deprecated public void setOpaque(boolean b)
opaque(boolean)
b - true for opaque, false for non-opaqueJComponent.setOpaque(boolean)public final JPanel build()
public final JLabel addLabel(String textWithMnemonic)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonic
ComponentFactory
public final JLabel addLabel(String textWithMnemonic,
CellConstraints constraints)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonicconstraints - the label's cell constraints
ComponentFactory
public final JLabel addLabel(String textWithMnemonic,
String encodedConstraints)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraints
ComponentFactory
public final JLabel addLabel(String textWithMnemonic,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).Note: The CellConstraints objects for the labe
and the component must be different. Cell constraints are implicitl
cloned by the FormLayout when added to the container
However, in this case you may be tempted to reuse
CellConstraints object in the same way as with many othe
builder methods that require a single CellConstraintsCellConstraints.xy*(...)not create a new instance
And so the second invocation of xy*(...) override
the settings performed in the first invocation before the objec
is cloned by the FormLayout.
Wrong:
Correct:
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 constraints
IllegalArgumentException - if the same cell constraints instanc
is used for the label and the componentJLabel.setLabelFor(java.awt.Component),
ComponentFactory,
DefaultFormBuilderpublic final JLabel addROLabel(String textWithMnemonic)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonic
public final JLabel addROLabel(String textWithMnemonic,
CellConstraints constraints)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonicconstraints - the label's cell constraints
public final JLabel addROLabel(String textWithMnemonic,
String encodedConstraints)
textWithMnemonic - the label's text
may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraints
public final JLabel addROLabel(String textWithMnemonic,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).Note: The CellConstraints objects for the labe
and the component must be different. Cell constraints are implicitl
cloned by the FormLayout when added to the container
However, in this case you may be tempted to reuse
CellConstraints object in the same way as with many othe
builder methods that require a single CellConstraintsCellConstraints.xy*(...)not create a new instance
And so the second invocation of xy*(...) override
the settings performed in the first invocation before the objec
is cloned by the FormLayout.
Wrong:
Correct:
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 constraints
IllegalArgumentException - if the same cell constraints instanc
is used for the label and the componentJLabel.setLabelFor(java.awt.Component),
DefaultFormBuilderpublic final JLabel addTitle(String textWithMnemonic)
textWithMnemonic - the title label's text
may contain an ampersand (&) to mark a mnemonic
ComponentFactory
public final JLabel addTitle(String textWithMnemonic,
CellConstraints constraints)
textWithMnemonic - the title label's text
may contain an ampersand (&) to mark a mnemonicconstraints - the separator's cell constraints
ComponentFactory
public final JLabel addTitle(String textWithMnemonic,
String encodedConstraints)
textWithMnemonic - the title label's text
may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraints
ComponentFactorypublic final JComponent addSeparator(String textWithMnemonic)
textWithMnemonic - the separator label's text
may contain an ampersand (&) to mark a mnemonic
public final JComponent addSeparator(String textWithMnemonic,
CellConstraints constraints)
textWithMnemonic - the separator label's text
may contain an ampersand (&) to mark a mnemonicconstraints - the separator's cell constraints
public final JComponent addSeparator(String textWithMnemonic,
String encodedConstraints)
textWithMnemonic - the separator label's text
may contain an ampersand (&) to mark a mnemonicencodedConstraints - a string representation for the constraints
public final JComponent addSeparator(String textWithMnemonic,
int columnSpan)
textWithMnemonic - the separator label's text
may contain an ampersand (&) to mark a mnemoniccolumnSpan - the number of columns the separator spans
public final JLabel add(JLabel label,
CellConstraints labelConstraints,
Component component,
CellConstraints componentConstraints)
JLabel.setLabelFor(java.awt.Component).Note: The CellConstraints objects for the labe
and the component must be different. Cell constraints are implicitl
cloned by the FormLayout when added to the container
However, in this case you may be tempted to reuse
CellConstraints object in the same way as with many othe
builder methods that require a single CellConstraintsCellConstraints.xy*(...)not create a new instance
And so the second invocation of xy*(...) override
the settings performed in the first invocation before the objec
is cloned by the FormLayout.
Wrong:
Correct:
label - the label to addlabelConstraints - the label's cell constraintscomponent - the component to addcomponentConstraints - the component's cell constraints
IllegalArgumentException - if the same cell constraints instanc
is used for the label and the componentJLabel.setLabelFor(java.awt.Component),
DefaultFormBuilder
public Component add(Component component,
CellConstraints cellConstraints)
add in class AbstractFormBuildercomponent - the component to addcellConstraints - the component's cell constraints
isLabelForApplicable(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 label
protected void setLabelFor(JLabel label,
Component component)
label as labeling label for component or a
appropriate child. In case of a JScrollPane as given component
this default implementation labels the view of the scroll pane'
viewport.
label - the labeling labelcomponent - the component to be labeled, or the parent o
the labeled component
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||