ViewportLayout (Java Platform SE 8 )
Keywords: javax.swing.ViewportLayout class
Date: 2026-04-24

javax.swing

## 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`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ViewportLayout()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### ViewportLayout

          public ViewportLayout()

  - ### Method Detail

    - #### 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 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(java.awt.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(java.awt.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

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.