Class FlowArrangement

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

    public class FlowArrangement
    extends java.lang.Object
    implements Arrangement, java.io.Serializable
    Arranges blocks in a flow layout. This class is immutable.
    See Also:
    Serialized Form
    • Field Detail

      • serialVersionUID

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

        private HorizontalAlignment horizontalAlignment
        The horizontal alignment of blocks.
      • verticalAlignment

        private VerticalAlignment verticalAlignment
        The vertical alignment of blocks within each row.
      • horizontalGap

        private double horizontalGap
        The horizontal gap between items within rows.
      • verticalGap

        private double verticalGap
        The vertical gap between rows.
    • Constructor Detail

      • FlowArrangement

        public FlowArrangement()
        Creates a new instance.
      • FlowArrangement

        public FlowArrangement​(HorizontalAlignment hAlign,
                               VerticalAlignment vAlign,
                               double hGap,
                               double vGap)
        Creates a new instance.
        Parameters:
        hAlign - the horizontal alignment (currently ignored).
        vAlign - the vertical alignment (currently ignored).
        hGap - the horizontal gap.
        vGap - the vertical gap.
    • Method Detail

      • add

        public void add​(Block block,
                        java.lang.Object key)
        Adds a block to be managed by this instance. This method is usually called by the BlockContainer, you shouldn't need to call it directly.
        Specified by:
        add in interface Arrangement
        Parameters:
        block - the block.
        key - a key that controls the position of the block.
      • arrange

        public Size2D arrange​(BlockContainer container,
                              java.awt.Graphics2D g2,
                              RectangleConstraint constraint)
        Calculates and sets the bounds of all the items in the specified container, subject to the given constraint. The Graphics2D can be used by some items (particularly items containing text) to calculate sizing parameters.
        Specified by:
        arrange in interface Arrangement
        Parameters:
        container - the container whose items are being arranged.
        constraint - the size constraint.
        g2 - the graphics device.
        Returns:
        The size of the container after arrangement of the contents.
      • arrangeFN

        protected Size2D arrangeFN​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks in the container with a fixed width and no height constraint.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size.
      • arrangeFR

        protected Size2D arrangeFR​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks in the container with a fixed width and a range constraint on the height.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size following the arrangement.
      • arrangeFF

        protected Size2D arrangeFF​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks in the container with the overall height and width specified as fixed constraints.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size following the arrangement.
      • arrangeRR

        protected Size2D arrangeRR​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks with the overall width and height to fit within specified ranges.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size after the arrangement.
      • arrangeRF

        protected Size2D arrangeRF​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks in the container with a range constraint on the width and a fixed height.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size following the arrangement.
      • arrangeRN

        protected Size2D arrangeRN​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the block with a range constraint on the width, and no constraint on the height.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size following the arrangement.
      • arrangeNN

        protected Size2D arrangeNN​(BlockContainer container,
                                   java.awt.Graphics2D g2)
        Arranges the blocks without any constraints. This puts all blocks into a single row.
        Parameters:
        container - the container.
        g2 - the graphics device.
        Returns:
        The size after the arrangement.
      • arrangeNF

        protected Size2D arrangeNF​(BlockContainer container,
                                   java.awt.Graphics2D g2,
                                   RectangleConstraint constraint)
        Arranges the blocks with no width constraint and a fixed height constraint. This puts all blocks into a single row.
        Parameters:
        container - the container.
        constraint - the constraint.
        g2 - the graphics device.
        Returns:
        The size after the arrangement.
      • clear

        public void clear()
        Clears any cached information.
        Specified by:
        clear in interface Arrangement
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this instance 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