Module java.desktop
Package java.awt

Interface LayoutManager2

All Superinterfaces:
LayoutManager
All Known Implementing Classes:
BasicSplitPaneUI.BasicHorizontalLayoutManager, BasicSplitPaneUI.BasicVerticalLayoutManager, BorderLayout, BoxLayout, CardLayout, DefaultMenuLayout, GridBagLayout, GroupLayout, JRootPane.RootLayout, OverlayLayout, SpringLayout

public interface LayoutManager2 extends LayoutManager
Defines an interface for classes that know how to layout Containers based on a layout constraints object. This interface extends the LayoutManager interface to deal with layouts explicitly in terms of constraint objects that specify how and where components should be added to the layout.

This minimal extension to LayoutManager is intended for tool providers who wish to the creation of constraint-based layouts. It does not yet provide full, general support for custom constraint-based layout managers.

See Also:
LayoutManager, Container
  • Method Details

    • addLayoutComponent

      void addLayoutComponent(Component comp, Object constraints)
      Adds the specified component to the layout, using the specified constraint object.
      Parameters:
      comp - the component to be added
      constraints - where/how the component is added to the layout.
    • maximumLayoutSize

      Dimension maximumLayoutSize(Container target)
      Calculates the maximum size dimensions for the specified container, given the components it contains.
      Parameters:
      target - the target container
      Returns:
      the maximum size of the container
      See Also:
      Component.getMaximumSize(), LayoutManager
    • getLayoutAlignmentX

      float getLayoutAlignmentX(Container target)
      Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
      Parameters:
      target - the target container
      Returns:
      the x-axis alignment preference
    • getLayoutAlignmentY

      float getLayoutAlignmentY(Container target)
      Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
      Parameters:
      target - the target container
      Returns:
      the y-axis alignment preference
    • invalidateLayout

      void invalidateLayout(Container target)
      Invalidates the layout, indicating that if the layout manager has cached information it should be discarded.
      Parameters:
      target - the target container