## Uses of Interface
java.awt.LayoutManager

Packages that use LayoutManager
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
`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
`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
`LayoutManager` Container.`getLayout()` Gets the layout manager for this container.

Methods in java.awt with parameters of type LayoutManager
`void` Container.`setLayout​(LayoutManager mgr)` Sets the layout manager for this container.
`void` ScrollPane.`setLayout​(LayoutManager mgr)` Sets the layout manager for this container.

Constructors in java.awt with parameters of type LayoutManager
`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
`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
`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
`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` Box.`setLayout​(LayoutManager l)` Throws an AWTError, since a Box can use only a BoxLayout.
`void` JApplet.`setLayout​(LayoutManager manager)` Deprecated. Sets the `LayoutManager`.
`void` JDialog.`setLayout​(LayoutManager manager)` Sets the `LayoutManager`.
`void` JFrame.`setLayout​(LayoutManager manager)` Sets the `LayoutManager`.
`void` JInternalFrame.`setLayout​(LayoutManager manager)` Ensures that, by default, the layout of this component cannot be set.
`void` JLayer.`setLayout​(LayoutManager mgr)` Sets the layout manager for this container.
`void` JScrollPane.`setLayout​(LayoutManager layout)` Sets the layout manager for this `JScrollPane`.
`void` JWindow.`setLayout​(LayoutManager manager)` Sets the `LayoutManager`.

Constructors in javax.swing with parameters of type LayoutManager
`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
`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` Internal frame layout.
`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
`protected LayoutManager` BasicInternalFrameUI.`internalFrameLayout` Internal frame layout

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

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

Classes in javax.swing.plaf.metal that implement LayoutManager
`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.

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

Classes in javax.swing.plaf.synth that implement LayoutManager
`class` `SynthScrollBarUI` Provides the Synth L&F UI delegate for `JScrollBar`.

Methods in javax.swing.plaf.synth that return LayoutManager
`protected LayoutManager` SynthToolBarUI.`createLayout()` Creates a `LayoutManager` to use with the toolbar.
`protected LayoutManager` SynthTabbedPaneUI.`createLayoutManager()` Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.