BasicOptionPaneUI.ButtonAreaLayout (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.plaf.basic, class: BasicOptionPaneUI, class: ButtonAreaLayout
Keywords: javax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout class

# 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