ViewportLayout (Java SE 25 & JDK 25)
Description: declaration: module: java.desktop, package: javax.swing, class: ViewportLayout
Keywords: javax.swing.ViewportLayout class

# Class ViewportLayout

java.lang.Object
javax.swing.ViewportLayout

All Implemented Interfaces:
  `LayoutManager, Serializable`

public class ViewportLayout extends Object implements LayoutManager, Serializable
The default layout manager for `JViewport`. `ViewportLayout` defines a policy for layout that should be useful for most applications. The viewport makes its view the same size as the viewport, however it will not make the view smaller than its minimum size. As the viewport grows the view is kept bottom justified until the entire view is visible, subsequently the view is kept top justified.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

Since:
  1.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ViewportLayout()`
  Constructs a `ViewportLayout`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addLayoutComponent(String name, Component c)`
  Adds the specified component to the layout.
  `void`
  `layoutContainer(Container parent)`
  Called by the AWT when the specified container needs to be laid out.
  `Dimension`
  `minimumLayoutSize(Container parent)`
  Returns the minimum dimensions needed to layout the components contained in the specified target container.
  `Dimension`
  `preferredLayoutSize(Container parent)`
  Returns the preferred dimensions for this layout given the components in the specified target container.
  `void`
  `removeLayoutComponent(Component c)`
  Removes the specified component from the layout.

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### ViewportLayout

    public ViewportLayout()
    Constructs a `ViewportLayout`.

- ## Method Details

  - ### addLayoutComponent

    public void addLayoutComponent(String name, Component c)
    Adds the specified component to the layout. Not used by this class.
    Specified by:
      `addLayoutComponent` in interface `LayoutManager`
    Parameters:
      `name` - the name of the component
      `c` - the component to be added

  - ### removeLayoutComponent

    public void removeLayoutComponent(Component c)
    Removes the specified component from the layout. Not used by this class.
    Specified by:
      `removeLayoutComponent` in interface `LayoutManager`
    Parameters:
      `c` - the component to remove

  - ### preferredLayoutSize

    public Dimension preferredLayoutSize(Container parent)
    Returns the preferred dimensions for this layout given the components in the specified target container.
    Specified by:
      `preferredLayoutSize` in interface `LayoutManager`
    Parameters:
      `parent` - the component which needs to be laid out
    Returns:
      a `Dimension` object containing the preferred dimensions
    See Also:
      - `minimumLayoutSize(Container)`

  - ### minimumLayoutSize

    public Dimension minimumLayoutSize(Container parent)
    Returns the minimum dimensions needed to layout the components contained in the specified target container.
    Specified by:
      `minimumLayoutSize` in interface `LayoutManager`
    Parameters:
      `parent` - the component which needs to be laid out
    Returns:
      a `Dimension` object containing the minimum dimensions
    See Also:
      - `preferredLayoutSize(Container)`

  - ### layoutContainer

    public void layoutContainer(Container parent)
    Called by the AWT when the specified container needs to be laid out.
    Specified by:
      `layoutContainer` in interface `LayoutManager`
    Parameters:
      `parent` - the container to lay out
    Throws:
      `AWTError` - if the target isn't the container specified to the `BoxLayout` constructor