## org.jfree.chart.block
Class BlockContainer

    java.lang.Object
      org.jfree.chart.block.AbstractBlock
          org.jfree.chart.block.BlockContainer

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Block, org.jfree.ui.Drawable, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  LegendItemBlockContainer

    public class BlockContainer

extends AbstractBlock
implements Block, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A container for a collection of `Block` objects. The container uses an `Arrangement` object to handle the position of each block.

See Also:
  Serialized Form

Constructor Summary
`BlockContainer()` Creates a new instance with default settings.
`BlockContainer(Arrangement arrangement)` Creates a new instance with the specified arrangement.

Method Summary
`void` `add(Block block)` Adds a block to the container.
`void` `add(Block block, java.lang.Object key)` Adds a block to the container.
`org.jfree.ui.Size2D` `arrange(java.awt.Graphics2D g2, RectangleConstraint constraint)` Arranges the contents of the block, within the given constraints, and returns the block size.
`void` `clear()` Clears all the blocks from the container.
`java.lang.Object` `clone()` Returns a clone of the container.
`void` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws the container and all the blocks within it.
`java.lang.Object` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.lang.Object params)` Draws the block within the specified area.
`boolean` `equals(java.lang.Object obj)` Tests this container for equality with an arbitrary object.
`Arrangement` `getArrangement()` Returns the arrangement (layout) manager for the container.
`java.util.List` `getBlocks()` Returns an unmodifiable list of the `Block` objects managed by this arrangement.
`boolean` `isEmpty()` Returns `true` if there are no blocks in the container, and `false` otherwise.
`void` `setArrangement(Arrangement arrangement)` Sets the arrangement (layout) manager.

Methods inherited from class org.jfree.chart.block.AbstractBlock

`arrange, calculateTotalHeight, calculateTotalWidth, drawBorder, getBorder, getBounds, getContentXOffset, getContentYOffset, getFrame, getHeight, getID, getMargin, getPadding, getWidth, setBorder, setBorder, setBounds, setFrame, setHeight, setID, setMargin, setMargin, setPadding, setPadding, setWidth, toContentConstraint, trimBorder, trimMargin, trimPadding, trimToContentHeight, trimToContentWidth`

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.block.Block
`arrange, getBounds, getID, setBounds, setID`

Constructor Detail

### BlockContainer

    public BlockContainer()

  Creates a new instance with default settings.

### BlockContainer

    public BlockContainer(Arrangement arrangement)

  Creates a new instance with the specified arrangement.

  Parameters:
    `arrangement` - the arrangement manager (`null` not permitted).

Method Detail

### getArrangement

    public Arrangement getArrangement()

  Returns the arrangement (layout) manager for the container.

  Returns:
    The arrangement manager (never `null`).

### setArrangement

    public void setArrangement(Arrangement arrangement)

  Sets the arrangement (layout) manager.

  Parameters:
    `arrangement` - the arrangement (`null` not permitted).

### isEmpty

    public boolean isEmpty()

  Returns `true` if there are no blocks in the container, and `false` otherwise.

  Returns:
    A boolean.

### getBlocks

    public java.util.List getBlocks()

  Returns an unmodifiable list of the `Block` objects managed by this arrangement.

  Returns:
    A list of blocks.

### add

    public void add(Block block)

  Adds a block to the container.

  Parameters:
    `block` - the block (`null` permitted).

### add

    public void add(Block block,
                    java.lang.Object key)

  Adds a block to the container.

  Parameters:
    `block` - the block (`null` permitted).
    `key` - the key (`null` permitted).

### clear

    public void clear()

  Clears all the blocks from the container.

### arrange

    public org.jfree.ui.Size2D arrange(java.awt.Graphics2D g2,
                                       RectangleConstraint constraint)

  Arranges the contents of the block, within the given constraints, and returns the block size.

  Specified by:
    `arrange` in interface `Block`
  Overrides:
    `arrange` in class `AbstractBlock`
  Parameters:
    `g2` - the graphics device.
    `constraint` - the constraint (`null` not permitted).
  Returns:
    The block size (in Java2D units, never `null`).

### draw

    public void draw(java.awt.Graphics2D g2,
                     java.awt.geom.Rectangle2D area)

  Draws the container and all the blocks within it.

  Specified by:
    `draw` in interface `org.jfree.ui.Drawable`
  Parameters:
    `g2` - the graphics device.
    `area` - the area.

### draw

    public java.lang.Object draw(java.awt.Graphics2D g2,
                                 java.awt.geom.Rectangle2D area,
                                 java.lang.Object params)

  Draws the block within the specified area.

  Specified by:
    `draw` in interface `Block`
  Parameters:
    `g2` - the graphics device.
    `area` - the area.
    `params` - passed on to blocks within the container (`null` permitted).
  Returns:
    An instance of `EntityBlockResult`, or `null`.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this container for equality with an arbitrary object.

  Overrides:
    `equals` in class `AbstractBlock`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the container.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractBlock`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if there is a problem cloning.