public final class ButtonStackBuilder extends PanelBuilder
FormLayout.This builder sets a hint for narrow margin for the gridded buttons. This can reduce the button stack's width if some buttons have long texts. For example, a stack with 'OK', 'Cancel', 'Configure...' will likely exceed the minimum button width. The narrow margins help getting narrow stacks. Note that some look&feels do not support the narrow margin feature, and conversely, others have only narrow margins. The JGoodies look&feels honor the setting, the Mac Aqua l&f uses narrow margins all the time.
Example:
The following example builds a button stack with Close, Up and
Down, where Up and Down are related, and Close is not related
to the other buttons, which makes a wide gap for the unrelated and
a smaller gap for the related buttons.
private JPanel createCloseUpDownButtonStack(
JButton close, JButton up, JButton down) {
ButtonStackBuilder builder = new ButtonStackBuilder();
builder.addGridded(close);
builder.addUnrelatedGap();
builder.addGridded(up);
builder.addRelatedGap();
builder.addGridded(down);
return builder.getPanel();
}
ButtonBarBuilder,
ButtonBarFactory,
LayoutStyle| Constructor and Description |
|---|
ButtonStackBuilder()
Constructs an instance of
ButtonStackBuilder on a default
JPanel using a preconfigured FormLayout as layout manager. |
ButtonStackBuilder(javax.swing.JPanel panel)
Constructs an instance of
ButtonStackBuilder on the given
panel using a preconfigured FormLayout as layout manager. |
| Modifier and Type | Method and Description |
|---|---|
void |
addButtons(javax.swing.JButton[] buttons)
Adds a sequence of related buttons separated by a default gap.
|
void |
addFixed(javax.swing.JComponent component)
Adds a fixed size component.
|
void |
addGlue()
Adds a glue that will be given the extra space,
if this box is larger than its preferred size.
|
void |
addGridded(javax.swing.JComponent component)
Adds a gridded component.
|
void |
addRelatedGap()
Adds the standard gap for related components.
|
void |
addStrut(ConstantSize size)
Adds a strut of a specified size.
|
void |
addUnrelatedGap()
Adds the standard gap for unrelated components.
|
add, addLabel, addLabel, addLabel, addLabel, addSeparator, addSeparator, addSeparator, addSeparator, addTitle, addTitle, addTitle, getComponentFactory, getPanel, setBorder, setComponentFactory, setDefaultDialogBorderadd, 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, setVAlignmentpublic ButtonStackBuilder()
ButtonStackBuilder on a default
JPanel using a preconfigured FormLayout as layout manager.public ButtonStackBuilder(javax.swing.JPanel panel)
ButtonStackBuilder on the given
panel using a preconfigured FormLayout as layout manager.panel - the layout containerpublic void addButtons(javax.swing.JButton[] buttons)
buttons - an array of buttons to addpublic void addFixed(javax.swing.JComponent component)
component - the component to addpublic void addGridded(javax.swing.JComponent component)
component - the component to addpublic void addGlue()
public void addRelatedGap()
public void addUnrelatedGap()
public void addStrut(ConstantSize size)
size - a constant that describes the gap