public class I15dPanelBuilder extends PanelBuilder
FormLayout
to lay out JPanel
s. In addition to its superclass
PanelBuilder
this class provides convenience behavior to map
resource keys to their associated internationalized (i15d) strings
when adding labels, titles and titled separators.
The localized texts used in methods #addI15dLabel
and #addI15dTitle
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".
ResourceBundle
Constructor and Description |
---|
I15dPanelBuilder(FormLayout layout,
java.util.ResourceBundle bundle)
Constructs an instance of
I15dPanelBuilder for the given
layout. |
I15dPanelBuilder(FormLayout layout,
java.util.ResourceBundle bundle,
javax.swing.JPanel panel)
Constructs an instance of
I15dPanelBuilder
for the given FormLayout and layout container. |
I15dPanelBuilder(javax.swing.JPanel panel,
FormLayout layout,
java.util.ResourceBundle bundle)
Deprecated.
Replaced by
I15dPanelBuilder(FormLayout, ResourceBundle, JPanel) . |
Modifier and Type | Method and Description |
---|---|
javax.swing.JLabel |
add15dTitle(java.lang.String resourceKey,
java.lang.String encodedConstraints)
Adds a title to the form using the specified constraints.
|
javax.swing.JLabel |
addI15dLabel(java.lang.String resourceKey,
CellConstraints constraints)
Adds an internationalized (i15d) textual label to the form using the
specified constraints.
|
javax.swing.JLabel |
addI15dLabel(java.lang.String resourceKey,
CellConstraints labelConstraints,
java.awt.Component component,
CellConstraints componentConstraints)
Adds an internationalized (i15d) label and component to the panel using
the given cell constraints.
|
javax.swing.JLabel |
addI15dLabel(java.lang.String resourceKey,
java.lang.String encodedConstraints)
Adds an internationalized (i15d) textual label to the form using the
specified constraints.
|
javax.swing.JComponent |
addI15dSeparator(java.lang.String resourceKey,
CellConstraints constraints)
Adds an internationalized (i15d) titled separator to the form using the
specified constraints.
|
javax.swing.JComponent |
addI15dSeparator(java.lang.String resourceKey,
java.lang.String encodedConstraints)
Adds an internationalized (i15d) titled separator to the form using
the specified constraints.
|
javax.swing.JLabel |
addI15dTitle(java.lang.String resourceKey,
CellConstraints constraints)
Adds a title to the form using the specified constraints.
|
protected java.lang.String |
getI15dString(java.lang.String resourceKey)
Looks up and returns the internationalized (i15d) string for the given
resource key from the
ResourceBundle . |
add, addLabel, addLabel, addLabel, addLabel, addSeparator, addSeparator, addSeparator, addSeparator, addTitle, addTitle, addTitle, getComponentFactory, getPanel, setBorder, setComponentFactory, setDefaultDialogBorder
add, add, add, appendColumn, appendColumn, appendGlueColumn, appendGlueRow, appendLabelComponentsGapColumn, appendParagraphGapRow, appendRelatedComponentsGapColumn, appendRelatedComponentsGapRow, appendRow, appendRow, appendUnrelatedComponentsGapColumn, appendUnrelatedComponentsGapRow, cellConstraints, createLeftAdjustedConstraints, getColumn, getColumnCount, getColumnIncrementSign, getContainer, getLayout, getLeadingColumn, getRow, getRowCount, isLeftToRight, nextColumn, nextColumn, nextLine, nextLine, nextRow, nextRow, setAlignment, setBounds, setColumn, setColumnSpan, setExtent, setHAlignment, setLeftToRight, setOrigin, setRow, setRowSpan, setVAlignment
public I15dPanelBuilder(FormLayout layout, java.util.ResourceBundle bundle)
I15dPanelBuilder
for the given
layout. Uses an instance of JPanel
as layout container.layout
- the form layout used to layout the containerbundle
- the resource bundle used to lookup i15d stringspublic I15dPanelBuilder(FormLayout layout, java.util.ResourceBundle bundle, javax.swing.JPanel panel)
I15dPanelBuilder
for the given FormLayout and layout container.layout
- the FormLayout
used to layout the containerbundle
- the ResourceBundle
used to lookup i15d stringspanel
- the layout container@Deprecated public I15dPanelBuilder(javax.swing.JPanel panel, FormLayout layout, java.util.ResourceBundle bundle)
I15dPanelBuilder(FormLayout, ResourceBundle, JPanel)
.I15dPanelBuilder
for the given FormLayout and layout container.panel
- the layout containerbundle
- the ResourceBundle
used to lookup i15d stringslayout
- the FormLayout
used to layout the containerpublic final javax.swing.JLabel addI15dLabel(java.lang.String resourceKey, CellConstraints constraints)
resourceKey
- the resource key for the label's textconstraints
- the label's cell constraintspublic final javax.swing.JLabel addI15dLabel(java.lang.String resourceKey, java.lang.String encodedConstraints)
resourceKey
- the resource key for the label's textencodedConstraints
- a string representation for the constraintspublic final javax.swing.JLabel addI15dLabel(java.lang.String resourceKey, CellConstraints labelConstraints, java.awt.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.add("name.key", 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("name.key", cc.xy(1, 7).clone(), // cloned before the next modification nameField, cc.xy(3, 7) // sets this instance to (3, 7) );
resourceKey
- the resource key for the labellabelConstraints
- the label's cell constraintscomponent
- the component to addcomponentConstraints
- the component's cell constraintsjava.lang.IllegalArgumentException
- if the same cell constraints instance
is used for the label and the componentJLabel.setLabelFor(java.awt.Component)
public final javax.swing.JComponent addI15dSeparator(java.lang.String resourceKey, CellConstraints constraints)
resourceKey
- the resource key for the separator titleconstraints
- the separator's cell constraintspublic final javax.swing.JComponent addI15dSeparator(java.lang.String resourceKey, java.lang.String encodedConstraints)
resourceKey
- the resource key for the separator titleencodedConstraints
- a string representation for the constraintspublic final javax.swing.JLabel addI15dTitle(java.lang.String resourceKey, CellConstraints constraints)
resourceKey
- the resource key for the separator titleconstraints
- the separator's cell constraintspublic final javax.swing.JLabel add15dTitle(java.lang.String resourceKey, java.lang.String encodedConstraints)
resourceKey
- the resource key for the separator titleencodedConstraints
- a string representation for the constraintsprotected java.lang.String getI15dString(java.lang.String resourceKey)
ResourceBundle
.resourceKey
- the key to look for in the resource bundlejava.lang.IllegalStateException
- if no ResourceBundle
has been set