A non-visual builder that assists you in building consistent button stacks
using the
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();
}
addButtons
public void addButtons(JButton[] buttons)
Adds a sequence of related buttons separated by a default gap.
buttons
- an array of buttons to add
addFixed
public void addFixed(JComponent component)
Adds a fixed size component.
component
- the component to add
addGlue
public void addGlue()
Adds a glue that will be given the extra space,
if this box is larger than its preferred size.
addGridded
public void addGridded(JComponent component)
Adds a gridded component.
component
- the component to add
addRelatedGap
public void addRelatedGap()
Adds the standard gap for related components.
addStrut
public void addStrut(ConstantSize size)
Adds a strut of a specified size.
size
- a constant that describes the gap
addUnrelatedGap
public void addUnrelatedGap()
Adds the standard gap for unrelated components.