Class XYLayout

All Implemented Interfaces:
LayoutManager
Direct Known Subclasses:
FreeformLayout

public class XYLayout extends AbstractConstraintLayout
This class implements the LayoutManager interface using the XY Layout algorithm. This lays out the components using the layout constraints as defined by each component.
  • Constructor Details

    • XYLayout

      public XYLayout()
  • Method Details

    • calculatePreferredSize

      protected Dimension calculatePreferredSize(IFigure f, int wHint, int hHint)
      Calculates and returns the preferred size of the input figure. Since in XYLayout the location of the child should be preserved, the preferred size would be a region which would hold all the children of the input figure. If no constraint is set, that child is ignored for calculation. If width and height are not positive, the preferred dimensions of the child are taken.
      Specified by:
      calculatePreferredSize in class AbstractLayout
      Parameters:
      f - The figure
      wHint - The width hint
      hHint - The height hint
      Returns:
      The preferred size
      Since:
      2.0
      See Also:
    • getOrigin

      public Point getOrigin(IFigure parent)
      Returns the origin for the given figure.
      Parameters:
      parent - the figure whose origin is requested
      Returns:
      the origin
    • layout

      public void layout(IFigure parent)
      Implements the algorithm to layout the components of the given container figure. Each component is laid out using its own layout constraint specifying its size and position.
      Parameters:
      parent - The figure
      See Also:
    • setConstraint

      public void setConstraint(IFigure figure, Object newConstraint)
      Sets the layout constraint of the given figure. The constraints can only be of type Rectangle.
      Specified by:
      setConstraint in interface LayoutManager
      Overrides:
      setConstraint in class AbstractConstraintLayout
      Parameters:
      figure - the child
      newConstraint - the child's new constraint
      Since:
      2.0
      See Also: