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

    Methods in java.awt with parameters of type LayoutManager
    Modifier and Type | Method | Description
    --- | --- | ---
    `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
    Constructor | 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 | 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 | 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 | Description
    --- | --- | ---
    `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
    Constructor | 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 | 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` | 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
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected LayoutManager` | BasicInternalFrameUI.`internalFrameLayout` | Internal frame layout

    Methods in javax.swing.plaf.basic that return LayoutManager
    Modifier and Type | Method | Description
    --- | --- | ---
    `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
    Modifier and Type | Class | 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.

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

    Classes in javax.swing.plaf.synth that implement LayoutManager
    Modifier and Type | Class | 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 | Description
    --- | --- | ---
    `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`.