|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.jgoodies.forms.builder.AbstractFormBuilder
com.jgoodies.forms.builder.PanelBuilder
com.jgoodies.forms.builder.ButtonStackBuilder
public final class ButtonStackBuilder
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();
}
ButtonBarBuilder,
ButtonBarFactory,
LayoutStyle| Field Summary | |
|---|---|
private static ColumnSpec[] |
COL_SPECS
Specifies the FormLayout's the single button stack column. |
private static java.lang.String |
NARROW_KEY
The client property key used to indicate that a button shall get narrow margins on the left and right hand side. |
private static RowSpec[] |
ROW_SPECS
Specifies the rows of the initial FormLayout used in constructors. |
| Constructor Summary | |
|---|---|
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. |
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class com.jgoodies.forms.builder.PanelBuilder |
|---|
add, addLabel, addLabel, addLabel, addLabel, addSeparator, addSeparator, addSeparator, addSeparator, addTitle, addTitle, addTitle, getComponentFactory, getPanel, setBorder, setComponentFactory, setDefaultDialogBorder |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final ColumnSpec[] COL_SPECS
private static final RowSpec[] ROW_SPECS
private static final java.lang.String NARROW_KEY
This optional setting will be honored by all JGoodies Look&Feel implementations. The Mac Aqua l&f uses narrow margins only. Other look&feel implementations will likely ignore this key and so may render a wider button margin.
| Constructor Detail |
|---|
public 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 container| Method Detail |
|---|
public 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
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||