Class FlowLayoutCorrectMinimumSize

  • All Implemented Interfaces:
    java.awt.LayoutManager, java.io.Serializable

    public class FlowLayoutCorrectMinimumSize
    extends java.awt.FlowLayout
    A flow layout that claims the correct height of the component managed in case the available width is known. The standard FlowLayout does not claim the correct size but chooses the maximum width of all components to render which is worthless as the fact of flow breaks is not taken into account.

    This class is inspired by the sun class FlowLayout with modifications to the methods preferredLayoutSize(Container) and minimumLayoutSize(Container).

    Version:
    $Revision: 1.13 $
    Author:
    Achim Westermann
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class java.awt.FlowLayout

        CENTER, LEADING, LEFT, RIGHT, TRAILING
    • Constructor Summary

      Constructors 
      Constructor Description
      FlowLayoutCorrectMinimumSize​(int align)
      Constructs a new FlowLayout with the specified alignment and a default 5-unit horizontal and vertical gap.
      FlowLayoutCorrectMinimumSize​(int align, int hgap, int vgap)
      Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void layoutContainer​(java.awt.Container target)
      Lays out the container.
      java.awt.Dimension minimumLayoutSize​(java.awt.Container target)
      Returns the minimum dimensions needed to layout the visible components contained in the specified target container.
      java.awt.Dimension preferredLayoutSize​(java.awt.Container target)
      Returns the preferred dimensions for this layout given the visible components in the specified target container.
      • Methods inherited from class java.awt.FlowLayout

        addLayoutComponent, getAlignment, getAlignOnBaseline, getHgap, getVgap, removeLayoutComponent, setAlignment, setAlignOnBaseline, setHgap, setVgap, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • FlowLayoutCorrectMinimumSize

        public FlowLayoutCorrectMinimumSize​(int align)
        Constructs a new FlowLayout with the specified alignment and a default 5-unit horizontal and vertical gap. The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, or FlowLayout.TRAILING.
        Parameters:
        align - the alignment value
      • FlowLayoutCorrectMinimumSize

        public FlowLayoutCorrectMinimumSize​(int align,
                                            int hgap,
                                            int vgap)
        Creates a new flow layout manager with the indicated alignment and the indicated horizontal and vertical gaps.

        The value of the alignment argument must be one of FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, or FlowLayout.TRAILING.

        Parameters:
        align - the alignment value
        hgap - the horizontal gap between components and between the components and the borders of the Container
        vgap - the vertical gap between components and between the components and the borders of the Container
    • Method Detail

      • layoutContainer

        public void layoutContainer​(java.awt.Container target)
        Lays out the container. This method lets each visible component take its preferred size by reshaping the components in the target container in order to satisfy the alignment of this FlowLayout object.
        Specified by:
        layoutContainer in interface java.awt.LayoutManager
        Overrides:
        layoutContainer in class java.awt.FlowLayout
        Parameters:
        target - the specified component being laid out
        See Also:
        Container, Container.doLayout()
      • minimumLayoutSize

        public java.awt.Dimension minimumLayoutSize​(java.awt.Container target)
        Returns the minimum dimensions needed to layout the visible components contained in the specified target container.
        Specified by:
        minimumLayoutSize in interface java.awt.LayoutManager
        Overrides:
        minimumLayoutSize in class java.awt.FlowLayout
        Parameters:
        target - the container that needs to be laid out
        Returns:
        the minimum dimensions to lay out the subcomponents of the specified container
        See Also:
        preferredLayoutSize(java.awt.Container), Container, Container.doLayout()
      • preferredLayoutSize

        public java.awt.Dimension preferredLayoutSize​(java.awt.Container target)
        Returns the preferred dimensions for this layout given the visible components in the specified target container.
        Specified by:
        preferredLayoutSize in interface java.awt.LayoutManager
        Overrides:
        preferredLayoutSize in class java.awt.FlowLayout
        Parameters:
        target - the container that needs to be laid out
        Returns:
        the preferred dimensions to lay out the subcomponents of the specified container
        See Also:
        Container, minimumLayoutSize(java.awt.Container), Container.getPreferredSize()