# Class BasicOptionPaneUI.ButtonAreaLayout

java.lang.Object
javax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout

All Implemented Interfaces:
  `LayoutManager`

Enclosing class:
  `BasicOptionPaneUI`

public static class BasicOptionPaneUI.ButtonAreaLayout extends Object implements LayoutManager
`ButtonAreaLayout` behaves in a similar manner to `FlowLayout`. It lays out all components from left to right. If `syncAllWidths` is true, the widths of each component will be set to the largest preferred size width. This class should be treated as a "protected" inner class. Instantiate it only within subclasses of `BasicOptionPaneUI`.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`centersChildren`
If true, children are lumped together in parent.
`protected int`
`padding`
The padding value.
`protected boolean`
`syncAllWidths`
The value represents if the width of children should be synchronized.

## Constructor Summary

Constructors
Constructor
Description
`ButtonAreaLayout(boolean syncAllWidths, int padding)`
Constructs a new instance of `ButtonAreaLayout`.

## Method Summary

Modifier and Type
Method
Description
`void`
`addLayoutComponent(String string, Component comp)`
If the layout manager uses a per-component string, adds the component `comp` to the layout, associating it with the string specified by `name`.
`boolean`
`getCentersChildren()`
Returns whether or not center children should be used.
`int`
`getPadding()`
Returns the padding.
`boolean`
`getSyncAllWidths()`
Returns if the width of children should be synchronized.
`void`
`layoutContainer(Container container)`
Lays out the specified container.
`Dimension`
`minimumLayoutSize(Container c)`
Calculates the minimum size dimensions for the specified container, given the components it contains.
`Dimension`
`preferredLayoutSize(Container c)`
Calculates the preferred size dimensions for the specified container, given the components it contains.
`void`
`removeLayoutComponent(Component c)`
Removes the specified component from the layout.
`void`
`setCentersChildren(boolean newValue)`
Sets whether or not center children should be used.
`void`
`setPadding(int newPadding)`
Sets the padding value.
`void`
`setSyncAllWidths(boolean newValue)`
Sets if the width of children should be synchronized.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Field Details

### syncAllWidths

protected boolean syncAllWidths
The value represents if the width of children should be synchronized.

### padding

protected int padding
The padding value.

### centersChildren

protected boolean centersChildren
If true, children are lumped together in parent.

## Constructor Details

### ButtonAreaLayout

public ButtonAreaLayout(boolean syncAllWidths, int padding)
Constructs a new instance of `ButtonAreaLayout`.

Parameters:
  `syncAllWidths` - if the width of children should be synchronized
  `padding` - the padding value

## Method Details

### setSyncAllWidths

public void setSyncAllWidths(boolean newValue)
Sets if the width of children should be synchronized.

Parameters:
  `newValue` - if the width of children should be synchronized

### getSyncAllWidths

public boolean getSyncAllWidths()
Returns if the width of children should be synchronized.

Returns:
  `true` if the width of children should be synchronized, otherwise `false`

### setPadding

public void setPadding(int newPadding)
Sets the padding value.

Parameters:
  `newPadding` - the new padding

### getPadding

public int getPadding()
Returns the padding.

Returns:
  the padding

### setCentersChildren

public void setCentersChildren(boolean newValue)
Sets whether or not center children should be used.

Parameters:
  `newValue` - a new value

### getCentersChildren

public boolean getCentersChildren()
Returns whether or not center children should be used.

Returns:
  whether or not center children should be used

### addLayoutComponent

public void addLayoutComponent(String string, Component comp)
Description copied from interface: `LayoutManager`
If the layout manager uses a per-component string, adds the component `comp` to the layout, associating it with the string specified by `name`.

Specified by:
  `addLayoutComponent` in interface `LayoutManager`
Parameters:
  `string` - the string to be associated with the component
  `comp` - the component to be added

### layoutContainer

public void layoutContainer(Container container)
Description copied from interface: `LayoutManager`
Lays out the specified container.

Specified by:
  `layoutContainer` in interface `LayoutManager`
Parameters:
  `container` - the container to be laid out

### minimumLayoutSize

public Dimension minimumLayoutSize(Container c)
Description copied from interface: `LayoutManager`
Calculates the minimum size dimensions for the specified container, given the components it contains.

Specified by:
  `minimumLayoutSize` in interface `LayoutManager`
Parameters:
  `c` - the component to be laid out
Returns:
  the minimum dimension for the container
See Also:
  - `LayoutManager.preferredLayoutSize(Container)`

### preferredLayoutSize

public Dimension preferredLayoutSize(Container c)
Description copied from interface: `LayoutManager`
Calculates the preferred size dimensions for the specified container, given the components it contains.

Specified by:
  `preferredLayoutSize` in interface `LayoutManager`
Parameters:
  `c` - the container to be laid out
Returns:
  the preferred dimension for the container
See Also:
  - `LayoutManager.minimumLayoutSize(Container)`

### removeLayoutComponent

public void removeLayoutComponent(Component c)
Description copied from interface: `LayoutManager`
Removes the specified component from the layout.

Specified by:
  `removeLayoutComponent` in interface `LayoutManager`
Parameters:
  `c` - the component to be removed