Class BorderArrangement

  • All Implemented Interfaces:
    java.io.Serializable, Arrangement

    public class BorderArrangement
    extends java.lang.Object
    implements Arrangement, java.io.Serializable
    An arrangement manager that lays out blocks in a similar way to Swing's BorderLayout class.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Block bottomBlock
      The block (if any) at the bottom of the layout.
      private Block centerBlock
      The block (if any) at the center of the layout.
      private Block leftBlock
      The block (if any) at the left of the layout.
      private Block rightBlock
      The block (if any) at the right of the layout.
      private static long serialVersionUID
      For serialization.
      private Block topBlock
      The block (if any) at the top of the layout.
    • Constructor Summary

      Constructors 
      Constructor Description
      BorderArrangement()
      Creates a new instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(Block block, java.lang.Object key)
      Adds a block to the arrangement manager at the specified edge.
      Size2D arrange​(BlockContainer container, java.awt.Graphics2D g2, RectangleConstraint constraint)
      Arranges the items in the specified container, subject to the given constraint.
      protected Size2D arrangeFF​(BlockContainer container, java.awt.Graphics2D g2, RectangleConstraint constraint)
      Arranges the items within a container.
      protected Size2D arrangeFN​(BlockContainer container, java.awt.Graphics2D g2, double width)
      Arranges the container width a fixed width and no constraint on the height.
      protected Size2D arrangeFR​(BlockContainer container, java.awt.Graphics2D g2, RectangleConstraint constraint)
      Performs an arrangement with a fixed width and a range for the height.
      protected Size2D arrangeNN​(BlockContainer container, java.awt.Graphics2D g2)
      Performs an arrangement without constraints.
      protected Size2D arrangeRR​(BlockContainer container, Range widthRange, Range heightRange, java.awt.Graphics2D g2)
      Performs an arrangement with range constraints on both the vertical and horizontal sides.
      void clear()
      Clears the layout.
      boolean equals​(java.lang.Object obj)
      Tests this arrangement for equality with an arbitrary object.
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • centerBlock

        private Block centerBlock
        The block (if any) at the center of the layout.
      • topBlock

        private Block topBlock
        The block (if any) at the top of the layout.
      • bottomBlock

        private Block bottomBlock
        The block (if any) at the bottom of the layout.
      • leftBlock

        private Block leftBlock
        The block (if any) at the left of the layout.
      • rightBlock

        private Block rightBlock
        The block (if any) at the right of the layout.
    • Constructor Detail

      • BorderArrangement

        public BorderArrangement()
        Creates a new instance.
    • Method Detail

      • add

        public void add​(Block block,
                        java.lang.Object key)
        Adds a block to the arrangement manager at the specified edge. If the key is not an instance of RectangleEdge the block will be added in the center.
        Specified by:
        add in interface Arrangement
        Parameters:
        block - the block (null permitted).
        key - the edge (an instance of RectangleEdge) or null for the center block.
      • arrange

        public Size2D arrange​(BlockContainer container,
                              java.awt.Graphics2D g2,
                              RectangleConstraint constraint)
        Arranges the items in the specified container, subject to the given constraint.
        Specified by:
        arrange in interface Arrangement
        Parameters:
        container - the container.
        g2 - the graphics device.
        constraint - the constraint.
        Returns:
        The block size.
      • arrangeNN

        protected Size2D arrangeNN​(BlockContainer container,
                                   java.awt.Graphics2D g2)
        Performs an arrangement without constraints.
        Parameters:
        container - the container.
        g2 - the graphics device.
        Returns:
        The container size after the arrangement.
      • arrangeFR

        protected Size2D arrangeFR​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Performs an arrangement with a fixed width and a range for the height.
        Parameters:
        container - the container.
        g2 - the graphics device.
        constraint - the constraint.
        Returns:
        The container size after the arrangement.
      • arrangeFN

        protected Size2D arrangeFN​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   double width)
        Arranges the container width a fixed width and no constraint on the height.
        Parameters:
        container - the container.
        g2 - the graphics device.
        width - the fixed width.
        Returns:
        The container size after arranging the contents.
      • arrangeRR

        protected Size2D arrangeRR​(BlockContainer container,
                                   Range widthRange,
                                   Range heightRange,
                                   java.awt.Graphics2D g2)
        Performs an arrangement with range constraints on both the vertical and horizontal sides.
        Parameters:
        container - the container.
        widthRange - the allowable range for the container width.
        heightRange - the allowable range for the container height.
        g2 - the graphics device.
        Returns:
        The container size.
      • arrangeFF

        protected Size2D arrangeFF​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the items within a container.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The container size after the arrangement.
      • clear

        public void clear()
        Clears the layout.
        Specified by:
        clear in interface Arrangement
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this arrangement for equality with an arbitrary object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object