|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
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 containerMethod 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 All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |