BasicOptionPaneUI.ButtonAreaLayout (Java Platform SE 8 )
Keywords: javax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout class
Date: 2026-07-22

javax.swing.plaf.basic

## 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 and Description
    --- | ---
    `protected boolean` | `centersChildren` If true, children are lumped together in parent.
    `protected int` | `padding`
    `protected boolean` | `syncAllWidths`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ButtonAreaLayout(boolean syncAllWidths, int padding)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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()`
    `int` | `getPadding()`
    `boolean` | `getSyncAllWidths()`
    `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)`
    `void` | `setPadding(int newPadding)`
    `void` | `setSyncAllWidths(boolean newValue)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### syncAllWidths

          protected boolean syncAllWidths

    - #### padding

          protected int padding

    - #### centersChildren

          protected boolean centersChildren

      If true, children are lumped together in parent.

  - ### Constructor Detail

    - #### ButtonAreaLayout

          public ButtonAreaLayout(boolean syncAllWidths,
                                  int padding)

  - ### Method Detail

    - #### setSyncAllWidths

          public void setSyncAllWidths(boolean newValue)

    - #### getSyncAllWidths

          public boolean getSyncAllWidths()

    - #### setPadding

          public void setPadding(int newPadding)

    - #### getPadding

          public int getPadding()

    - #### setCentersChildren

          public void setCentersChildren(boolean newValue)

    - #### getCentersChildren

          public boolean getCentersChildren()

    - #### 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
      See Also:
        `LayoutManager.preferredLayoutSize(java.awt.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
      See Also:
        `LayoutManager.minimumLayoutSize(java.awt.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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.