Class AbstractButtonPanelBuilder<B extends AbstractButtonPanelBuilder<B>>
java.lang.Object
com.jgoodies.forms.internal.AbstractBuilder<B>
com.jgoodies.forms.internal.AbstractButtonPanelBuilder<B>
- Type Parameters:
B- the type of the builder, e.g. ButtonBarBuilder
- Direct Known Subclasses:
ButtonBarBuilder, ButtonStackBuilder
public abstract class AbstractButtonPanelBuilder<B extends AbstractButtonPanelBuilder<B>>
extends AbstractBuilder<B>
The abstract superclass for
ButtonBarBuilder and
ButtonStackBuilder.
Provides a cell cursor for traversing
the button bar/stack while components are added. It also offers
convenience methods to append logical columns and rows.- Since:
- 1.2
- Version:
- $Revision: 1.11 $
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanIndicates whether a focus group has been built inbuild().private booleanSpecifies if we fill the grid from left to right or right to left.Fields inherited from class AbstractBuilder
currentCellConstraints -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractButtonPanelBuilder(FormLayout layout, JPanel container) Constructs an AbstractButtonPanelBuilder for the given FormLayout and layout container. -
Method Summary
Modifier and TypeMethodDescriptionprotected final ComponentAdds a component to the container using the default cell constraints.protected AbstractButtonPanelBuilderConstructs an array of JButtons from the given Action array, and adds them as a sequence of related buttons separated by a default gap.protected abstract AbstractButtonPanelBuilderaddButton(JComponent button) protected AbstractButtonPanelBuilderaddButton(JComponent... buttons) Adds one or many sequences of related buttons.protected abstract AbstractButtonPanelBuilderAdds the standard gap for related components.protected abstract AbstractButtonPanelBuilderAdds the standard gap for unrelated components.protected final voidappendColumn(ColumnSpec columnSpec) Appends the given column specification to the builder's layout.protected final voidAppends a glue column.protected final voidAppends a glue row.protected final voidAppends a column that is the default gap for related components.protected final voidAppends a row that is the default gap for related components.protected final voidAppends the given row specification to the builder's layout.protected final voidAppends a column that is the default gap for unrelated components.protected final voidAppends a row that is the default gap for unrelated components.final JPanelbuild()Returns the panel used to build the form and lazily builds a focus traversal group for all contained AbstractButtons.protected JButtoncreateButton(Action action) Creates and returns a button that is bound to the given Action.protected final intprivate intReturns the sign (-1 or 1) used to increment the cursor's column when moving to the next column.protected final intgetRow()Returns the cursor's row.final booleanReturns whether this builder fills the form left-to-right or right-to-left.protected final voidMoves to the next column, does the same as #nextColumn(1).private voidnextColumn(int columns) Moves to the next column.protected final voidnextRow()Increases the row by one; does the same as #nextRow(1).private voidnextRow(int rows) Increases the row by the specified rows.final voidsetBackground(Color background) Deprecated.final voidDeprecated.Replaced byAbstractBuilder.border(Border)final voidsetLeftToRight(boolean b) Sets the form fill direction to left-to-right or right-to-left.final voidsetOpaque(boolean b) Deprecated.Replaced byAbstractBuilder.opaque(boolean)Methods inherited from class AbstractBuilder
background, border, border, createComponentFactory, getColumnCount, getComponentFactory, getContainer, getLayout, getPanel, getRowCount, opaque, padding, padding, setComponentFactory
-
Field Details
-
leftToRight
private boolean leftToRightSpecifies if we fill the grid from left to right or right to left. This value is initialized during the construction from the layout container's component orientation.- See Also:
-
focusGrouped
protected boolean focusGroupedIndicates whether a focus group has been built inbuild(). Reset tofalsewhenever a component is added.
-
-
Constructor Details
-
AbstractButtonPanelBuilder
Constructs an AbstractButtonPanelBuilder for the given FormLayout and layout container.- Parameters:
layout- the FormLayout to usecontainer- the layout container- Throws:
NullPointerException- iflayoutorcontainerisnull
-
-
Method Details
-
build
Returns the panel used to build the form and lazily builds a focus traversal group for all contained AbstractButtons.- Specified by:
buildin classAbstractBuilder<B extends AbstractButtonPanelBuilder<B>>- Returns:
- the panel used by this builder to build the form
-
setBackground
Deprecated.Replaced byAbstractBuilder.background(Color)Sets the panel's background color and makes the panel opaque.- Parameters:
background- the color to set as new background- See Also:
-
setBorder
Deprecated.Replaced byAbstractBuilder.border(Border)Sets the panel's border.- Parameters:
border- the border to set- See Also:
-
setOpaque
Deprecated.Replaced byAbstractBuilder.opaque(boolean)Sets the panel's opaque state.- Parameters:
b- true for opaque, false for non-opaque- Since:
- 1.1
- See Also:
-
isLeftToRight
public final boolean isLeftToRight()Returns whether this builder fills the form left-to-right or right-to-left. The initial value of this property is set during the builder construction from the layout container'scomponentOrientationproperty.- Returns:
- true indicates left-to-right, false indicates right-to-left
- See Also:
-
setLeftToRight
public final void setLeftToRight(boolean b) Sets the form fill direction to left-to-right or right-to-left. The initial value of this property is set during the builder construction from the layout container'scomponentOrientationproperty.- Parameters:
b- true indicates left-to-right, false right-to-left- See Also:
-
nextColumn
protected final void nextColumn()Moves to the next column, does the same as #nextColumn(1). -
nextColumn
private void nextColumn(int columns) Moves to the next column.- Parameters:
columns- number of columns to move
-
getColumn
protected final int getColumn() -
getRow
protected final int getRow()Returns the cursor's row.- Returns:
- the cursor's row
-
nextRow
protected final void nextRow()Increases the row by one; does the same as #nextRow(1). -
nextRow
private void nextRow(int rows) Increases the row by the specified rows.- Parameters:
rows- number of rows to move
-
appendColumn
Appends the given column specification to the builder's layout.- Parameters:
columnSpec- the column specification object to append
-
appendGlueColumn
protected final void appendGlueColumn()Appends a glue column.- See Also:
-
appendRelatedComponentsGapColumn
protected final void appendRelatedComponentsGapColumn()Appends a column that is the default gap for related components.- See Also:
-
appendRow
Appends the given row specification to the builder's layout.- Parameters:
rowSpec- the row specification object to append
-
appendGlueRow
protected final void appendGlueRow()Appends a glue row.- See Also:
-
appendRelatedComponentsGapRow
protected final void appendRelatedComponentsGapRow()Appends a row that is the default gap for related components.- See Also:
-
add
Adds a component to the container using the default cell constraints. Note that when building from left to right, this method won't adjust the cell constraints if the column span is larger than 1.- Parameters:
component- the component to add- Returns:
- the added component
-
addButton
-
addButton
Adds one or many sequences of related buttons. A new sequence starts when a button isnull. The next sequence is separated by an unrelated gap. Each button has the minimum width as specified byLayoutStyle.getDefaultButtonWidth(). The gap width between the buttons isLayoutStyle.getRelatedComponentsPadX().Although JButtons are expected, general JComponents are accepted to allow custom button component types.
Examples:
builder.addButtons(newButton, editButton, deleteButton); builder.addButtons(newButton, editButton, deleteButton, null, printButton);
- Parameters:
buttons- the buttons to add- Returns:
- this builder
- Throws:
NullPointerException- ifbuttonsisnullIllegalArgumentException- ifbuttonsis empty- See Also:
-
addButton
Constructs an array of JButtons from the given Action array, and adds them as a sequence of related buttons separated by a default gap.- Parameters:
actions- an array of buttons to add
-
addRelatedGap
Adds the standard gap for related components. -
createButton
Creates and returns a button that is bound to the given Action. This is a hook that allows to return customized buttons. For example, the JGoodiesJGButtonconfigures the accessible name and accessible description from Actions that provide these information.This default implementation delegates the button creation to this builder's component factory, see
ComponentFactory.createButton(Action)).- Parameters:
action- provides bound visual properties for the button- Returns:
- the created button
- Since:
- 1.4
-
getColumnIncrementSign
private int getColumnIncrementSign()Returns the sign (-1 or 1) used to increment the cursor's column when moving to the next column.- Returns:
- -1 for right-to-left, 1 for left-to-right
-
AbstractBuilder.background(Color)