com.jgoodies.forms.builder

Class ButtonStackBuilder

public final class ButtonStackBuilder extends PanelBuilder

A non-visual builder that assists you in building consistent button stacks using the {@link 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();
 }
 

Version: $Revision: 1.8 $

Author: Karsten Lentzsch

See Also: ButtonBarBuilder ButtonBarFactory LayoutStyle

Constructor Summary
ButtonStackBuilder()
Constructs a ButtonStackBuilder on a default JPanel using a preconfigured FormLayout as layout manager.
ButtonStackBuilder(JPanel panel)
Constructs a ButtonStackBuilder on the given panel using a preconfigured FormLayout as layout manager.
ButtonStackBuilder(FormLayout layout, JPanel panel)
Constructs a ButtonStackBuilder on the given panel and layout.
Method Summary
voidaddButtons(JButton[] buttons)
Adds a sequence of related buttons separated by a default gap.
voidaddFixed(JComponent component)
Adds a fixed size component.
voidaddGlue()
Adds a glue that will be given the extra space, if this box is larger than its preferred size.
voidaddGridded(JComponent component)
Adds a gridded component.
voidaddRelatedGap()
Adds the standard gap for related components.
voidaddStrut(ConstantSize size)
Adds a strut of a specified size.
voidaddUnrelatedGap()
Adds the standard gap for unrelated components.

Constructor Detail

ButtonStackBuilder

public ButtonStackBuilder()
Constructs a ButtonStackBuilder on a default JPanel using a preconfigured FormLayout as layout manager.

ButtonStackBuilder

public ButtonStackBuilder(JPanel panel)
Constructs a ButtonStackBuilder on the given panel using a preconfigured FormLayout as layout manager.

Parameters: panel the layout container

ButtonStackBuilder

public ButtonStackBuilder(FormLayout layout, JPanel panel)
Constructs a ButtonStackBuilder on the given panel and layout. The layout must have at least one column.

Parameters: layout the FormLayout used to layout panel the layout container

Since: 1.2

Method Detail

addButtons

public void addButtons(JButton[] buttons)
Adds a sequence of related buttons separated by a default gap.

Parameters: buttons an array of buttons to add

addFixed

public void addFixed(JComponent component)
Adds a fixed size component.

Parameters: 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.

Parameters: 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.

Parameters: size a constant that describes the gap

addUnrelatedGap

public void addUnrelatedGap()
Adds the standard gap for unrelated components.
Copyright © 2002-2008 JGoodies Karsten Lentzsch. All Rights Reserved.