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();
}