Uses of Interface java.awt.LayoutManager (Java Platform SE 8 )
Date: 2026-08-19

## Uses of Interface
java.awt.LayoutManager

- Packages that use LayoutManager
  Package | Description
  --- | ---
  java.awt | Contains all of the classes for creating user interfaces and for painting graphics and images.
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
  javax.swing.plaf.basic | Provides user interface objects built according to the Basic look and feel.
  javax.swing.plaf.metal | Provides user interface objects built according to the Java look and feel (once codenamed Metal), which is the default look and feel.
  javax.swing.plaf.synth | Synth is a skinnable look and feel in which all painting is delegated.

- - ### Uses of LayoutManager in java.awt

    Subinterfaces of LayoutManager in java.awt
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `LayoutManager2` Defines an interface for classes that know how to layout Containers based on a layout constraints object.

    Classes in java.awt that implement LayoutManager
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BorderLayout` A border layout lays out a container, arranging and resizing its components to fit in five regions: north, south, east, west, and center.
    `class` | `CardLayout` A `CardLayout` object is a layout manager for a container.
    `class` | `FlowLayout` A flow layout arranges components in a directional flow, much like lines of text in a paragraph.
    `class` | `GridBagLayout` The `GridBagLayout` class is a flexible layout manager that aligns components vertically, horizontally or along their baseline without requiring that the components be of the same size.
    `class` | `GridLayout` The `GridLayout` class is a layout manager that lays out a container's components in a rectangular grid.

    Methods in java.awt that return LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `LayoutManager` | Container.`getLayout()` Gets the layout manager for this container.

    Methods in java.awt with parameters of type LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `void` | ScrollPane.`setLayout(LayoutManager mgr)` Sets the layout manager for this container.
    `void` | Container.`setLayout(LayoutManager mgr)` Sets the layout manager for this container.

    Constructors in java.awt with parameters of type LayoutManager
    Constructor and Description
    `Panel(LayoutManager layout)` Creates a new panel with the specified layout manager.

  - ### Uses of LayoutManager in javax.swing

    Classes in javax.swing that implement LayoutManager
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BoxLayout` A layout manager that allows multiple components to be laid out either vertically or horizontally.
    `class` | `GroupLayout` `GroupLayout` is a `LayoutManager` that hierarchically groups components in order to position them in a `Container`.
    `protected class` | `JRootPane.RootLayout` A custom layout manager that is responsible for the layout of layeredPane, glassPane, and menuBar.
    `static class` | `JSpinner.DateEditor` An editor for a `JSpinner` whose model is a `SpinnerDateModel`.
    `static class` | `JSpinner.DefaultEditor` A simple base class for more specialized editors that displays a read-only view of the model's current value with a `JFormattedTextField`.
    `static class` | `JSpinner.ListEditor` An editor for a `JSpinner` whose model is a `SpinnerListModel`.
    `static class` | `JSpinner.NumberEditor` An editor for a `JSpinner` whose model is a `SpinnerNumberModel`.
    `class` | `OverlayLayout` A layout manager to arrange components over the top of each other.
    `class` | `ScrollPaneLayout` The layout manager used by `JScrollPane`.
    `static class` | `ScrollPaneLayout.UIResource` The UI resource version of `ScrollPaneLayout`.
    `class` | `SpringLayout` A `SpringLayout` lays out the children of its associated container according to a set of constraints.
    `class` | `ViewportLayout` The default layout manager for `JViewport`.

    Methods in javax.swing that return LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `protected LayoutManager` | JViewport.`createLayoutManager()` Subclassers can override this to install a different layout manager (or `null`) in the constructor.
    `protected LayoutManager` | JRootPane.`createRootLayout()` Called by the constructor methods to create the default `layoutManager`.

    Methods in javax.swing with parameters of type LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `void` | JLayer.`setLayout(LayoutManager mgr)` Sets the layout manager for this container.
    `void` | JApplet.`setLayout(LayoutManager manager)` Sets the `LayoutManager`.
    `void` | Box.`setLayout(LayoutManager l)` Throws an AWTError, since a Box can use only a BoxLayout.
    `void` | JFrame.`setLayout(LayoutManager manager)` Sets the `LayoutManager`.
    `void` | JWindow.`setLayout(LayoutManager manager)` Sets the `LayoutManager`.
    `void` | JToolBar.`setLayout(LayoutManager mgr)`
    `void` | JDialog.`setLayout(LayoutManager manager)` Sets the `LayoutManager`.
    `void` | JScrollPane.`setLayout(LayoutManager layout)` Sets the layout manager for this `JScrollPane`.
    `void` | AbstractButton.`setLayout(LayoutManager mgr)` Sets the layout manager for this container, refer to `Container.setLayout(LayoutManager)` for a complete description of this method.
    `void` | JInternalFrame.`setLayout(LayoutManager manager)` Ensures that, by default, the layout of this component cannot be set.

    Constructors in javax.swing with parameters of type LayoutManager
    Constructor and Description
    `JPanel(LayoutManager layout)` Create a new buffered JPanel with the specified layout manager
    `JPanel(LayoutManager layout, boolean isDoubleBuffered)` Creates a new JPanel with the specified layout manager and buffering strategy.

  - ### Uses of LayoutManager in javax.swing.plaf.basic

    Classes in javax.swing.plaf.basic that implement LayoutManager
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicComboBoxUI.ComboBoxLayoutManager` This layout manager handles the 'standard' layout of combo boxes.
    `class` | `BasicInternalFrameTitlePane.TitlePaneLayout` This class should be treated as a "protected" inner class.
    `class` | `BasicInternalFrameUI.InternalFrameLayout`
    `static class` | `BasicOptionPaneUI.ButtonAreaLayout` `ButtonAreaLayout` behaves in a similar manner to `FlowLayout`.
    `class` | `BasicScrollBarUI` Implementation of ScrollBarUI for the Basic Look and Feel
    `protected class` | `BasicSplitPaneDivider.DividerLayout` Used to layout a `BasicSplitPaneDivider`.
    `class` | `BasicSplitPaneUI.BasicHorizontalLayoutManager` LayoutManager for JSplitPanes that have an orientation of HORIZONTAL_SPLIT.
    `class` | `BasicSplitPaneUI.BasicVerticalLayoutManager` LayoutManager used for JSplitPanes with an orientation of VERTICAL_SPLIT.
    `class` | `BasicTabbedPaneUI.TabbedPaneLayout` This class should be treated as a "protected" inner class.
    `class` | `DefaultMenuLayout` The default layout manager for Popup menus and menubars.

    Fields in javax.swing.plaf.basic declared as LayoutManager
    Modifier and Type | Field and Description
    --- | ---
    `protected LayoutManager` | BasicInternalFrameUI.`internalFrameLayout`

    Methods in javax.swing.plaf.basic that return LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `protected LayoutManager` | BasicSpinnerUI.`createLayout()` Creates a `LayoutManager` that manages the `editor`, `nextButton`, and `previousButton` children of the JSpinner.
    `protected LayoutManager` | BasicInternalFrameTitlePane.`createLayout()`
    `protected LayoutManager` | BasicTabbedPaneUI.`createLayoutManager()` Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.
    `protected LayoutManager` | BasicOptionPaneUI.`createLayoutManager()`
    `protected LayoutManager` | BasicInternalFrameUI.`createLayoutManager()`
    `protected LayoutManager` | BasicComboBoxUI.`createLayoutManager()` Creates a layout manager for managing the components which make up the combo box.

  - ### Uses of LayoutManager in javax.swing.plaf.metal

    Classes in javax.swing.plaf.metal that implement LayoutManager
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MetalComboBoxUI.MetalComboBoxLayoutManager` This class should be treated as a "protected" inner class.
    `class` | `MetalScrollBarUI` Implementation of ScrollBarUI for the Metal Look and Feel
    `class` | `MetalTabbedPaneUI.TabbedPaneLayout` This class should be treated as a "protected" inner class.

    Methods in javax.swing.plaf.metal that return LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `protected LayoutManager` | MetalInternalFrameTitlePane.`createLayout()`
    `protected LayoutManager` | MetalTabbedPaneUI.`createLayoutManager()`
    `protected LayoutManager` | MetalComboBoxUI.`createLayoutManager()`

  - ### Uses of LayoutManager in javax.swing.plaf.synth

    Classes in javax.swing.plaf.synth that implement LayoutManager
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SynthScrollBarUI` Provides the Synth L&F UI delegate for `JScrollBar`.

    Methods in javax.swing.plaf.synth that return LayoutManager
    Modifier and Type | Method and Description
    --- | ---
    `protected LayoutManager` | SynthToolBarUI.`createLayout()` Creates a `LayoutManager` to use with the toolbar.
    `protected LayoutManager` | SynthSpinnerUI.`createLayout()` Creates a `LayoutManager` that manages the `editor`, `nextButton`, and `previousButton` children of the JSpinner.
    `protected LayoutManager` | SynthTabbedPaneUI.`createLayoutManager()` Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.

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.