org.jfree.chart.title

## Class LegendTitle

- java.lang.Object
- - org.jfree.chart.block.AbstractBlock
  - - org.jfree.chart.title.Title
    - - org.jfree.chart.title.LegendTitle

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Block, Drawable, PublicCloneable

      public class LegendTitle
      extends Title
      implements java.lang.Cloneable, PublicCloneable, java.io.Serializable

  A chart title that displays a legend for the data in the chart.

  The title can be populated with legend items manually, or you can assign a reference to the plot, in which case the legend items will be automatically created to match the dataset(s).

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.awt.Font` | `DEFAULT_ITEM_FONT` The default item font.
    `static java.awt.Paint` | `DEFAULT_ITEM_PAINT` The default item paint.

    - ### Fields inherited from class org.jfree.chart.title.Title

      `DEFAULT_HORIZONTAL_ALIGNMENT, DEFAULT_PADDING, DEFAULT_POSITION, DEFAULT_VERTICAL_ALIGNMENT, visible`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LegendTitle(LegendItemSource source)` Constructs a new (empty) legend for the specified source.
    `LegendTitle(LegendItemSource source, Arrangement hLayout, Arrangement vLayout)` Creates a new legend title with the specified arrangement.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Size2D` | `arrange(java.awt.Graphics2D g2, RectangleConstraint constraint)` Arranges the contents of the block, within the given constraints, and returns the block size.
    `protected Block` | `createLegendItemBlock(LegendItem item)` Creates a legend item block.
    `void` | `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)` Draws the title on a Java 2D graphics device (such as the screen or a printer).
    `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 title for equality with an arbitrary object.
    `protected void` | `fetchLegendItems()` Fetches the latest legend items.
    `java.awt.Paint` | `getBackgroundPaint()` Returns the background paint.
    `BlockContainer` | `getItemContainer()` Returns the container that holds the legend items.
    `java.awt.Font` | `getItemFont()` Returns the item font.
    `RectangleInsets` | `getItemLabelPadding()` Returns the padding used for the items labels.
    `java.awt.Paint` | `getItemPaint()` Returns the item paint.
    `RectangleAnchor` | `getLegendItemGraphicAnchor()` Returns the legend item graphic anchor.
    `RectangleEdge` | `getLegendItemGraphicEdge()` Returns the location of the shape within each legend item.
    `RectangleAnchor` | `getLegendItemGraphicLocation()` Returns the legend item graphic location.
    `RectangleInsets` | `getLegendItemGraphicPadding()` Returns the padding that will be applied to each item graphic.
    `SortOrder` | `getSortOrder()` Gets the order used to display legend items.
    `LegendItemSource[]` | `getSources()` Returns the legend item sources.
    `BlockContainer` | `getWrapper()` Returns the wrapper container, if any.
    `void` | `setBackgroundPaint(java.awt.Paint paint)` Sets the background paint for the legend and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setItemFont(java.awt.Font font)` Sets the item font and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setItemLabelPadding(RectangleInsets padding)` Sets the padding used for the item labels in the legend.
    `void` | `setItemPaint(java.awt.Paint paint)` Sets the item paint.
    `void` | `setLegendItemGraphicAnchor(RectangleAnchor anchor)` Sets the anchor point used for the graphic in each legend item.
    `void` | `setLegendItemGraphicEdge(RectangleEdge edge)` Sets the location of the shape within each legend item.
    `void` | `setLegendItemGraphicLocation(RectangleAnchor anchor)` Sets the legend item graphic location.
    `void` | `setLegendItemGraphicPadding(RectangleInsets padding)` Sets the padding that will be applied to each item graphic in the legend and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setSortOrder(SortOrder order)` Sets the order used to display legend items.
    `void` | `setSources(LegendItemSource[] sources)` Sets the legend item sources and sends a `TitleChangeEvent` to all registered listeners.
    `void` | `setWrapper(BlockContainer wrapper)` Sets the wrapper container for the legend.

    - ### Methods inherited from class org.jfree.chart.title.Title

      `addChangeListener, clone, getHorizontalAlignment, getNotify, getPosition, getVerticalAlignment, hashCode, isVisible, notifyListeners, removeChangeListener, setHorizontalAlignment, setNotify, setPosition, setVerticalAlignment, setVisible`

    - ### 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, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.jfree.util.PublicCloneable

      `clone`

    - ### Methods inherited from interface org.jfree.chart.block.Block

      `arrange, getBounds, getID, setBounds, setID`

- - ### Field Detail

    - #### DEFAULT_ITEM_FONT

          public static final java.awt.Font DEFAULT_ITEM_FONT

      The default item font.

    - #### DEFAULT_ITEM_PAINT

          public static final java.awt.Paint DEFAULT_ITEM_PAINT

      The default item paint.

  - ### Constructor Detail

    - #### LegendTitle

          public LegendTitle(LegendItemSource source)

      Constructs a new (empty) legend for the specified source.
      Parameters:
        `source` - the source.

    - #### LegendTitle

          public LegendTitle(LegendItemSource source,
                             Arrangement hLayout,
                             Arrangement vLayout)

      Creates a new legend title with the specified arrangement.
      Parameters:
        `source` - the source.
        `hLayout` - the horizontal item arrangement (`null` not permitted).
        `vLayout` - the vertical item arrangement (`null` not permitted).

  - ### Method Detail

    - #### getSources

          public LegendItemSource[] getSources()

      Returns the legend item sources.
      Returns:
        The sources.

    - #### setSources

          public void setSources(LegendItemSource[] sources)

      Sets the legend item sources and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `sources` - the sources (`null` not permitted).

    - #### getBackgroundPaint

          public java.awt.Paint getBackgroundPaint()

      Returns the background paint.
      Returns:
        The background paint (possibly `null`).

    - #### setBackgroundPaint

          public void setBackgroundPaint(java.awt.Paint paint)

      Sets the background paint for the legend and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `paint` - the paint (`null` permitted).

    - #### getLegendItemGraphicEdge

          public RectangleEdge getLegendItemGraphicEdge()

      Returns the location of the shape within each legend item.
      Returns:
        The location (never `null`).

    - #### setLegendItemGraphicEdge

          public void setLegendItemGraphicEdge(RectangleEdge edge)

      Sets the location of the shape within each legend item.
      Parameters:
        `edge` - the edge (`null` not permitted).

    - #### getLegendItemGraphicAnchor

          public RectangleAnchor getLegendItemGraphicAnchor()

      Returns the legend item graphic anchor.
      Returns:
        The graphic anchor (never `null`).

    - #### setLegendItemGraphicAnchor

          public void setLegendItemGraphicAnchor(RectangleAnchor anchor)

      Sets the anchor point used for the graphic in each legend item.
      Parameters:
        `anchor` - the anchor point (`null` not permitted).

    - #### getLegendItemGraphicLocation

          public RectangleAnchor getLegendItemGraphicLocation()

      Returns the legend item graphic location.
      Returns:
        The location (never `null`).

    - #### setLegendItemGraphicLocation

          public void setLegendItemGraphicLocation(RectangleAnchor anchor)

      Sets the legend item graphic location.
      Parameters:
        `anchor` - the anchor (`null` not permitted).

    - #### getLegendItemGraphicPadding

          public RectangleInsets getLegendItemGraphicPadding()

      Returns the padding that will be applied to each item graphic.
      Returns:
        The padding (never `null`).

    - #### setLegendItemGraphicPadding

          public void setLegendItemGraphicPadding(RectangleInsets padding)

      Sets the padding that will be applied to each item graphic in the legend and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `padding` - the padding (`null` not permitted).

    - #### getItemFont

          public java.awt.Font getItemFont()

      Returns the item font.
      Returns:
        The font (never `null`).

    - #### setItemFont

          public void setItemFont(java.awt.Font font)

      Sets the item font and sends a `TitleChangeEvent` to all registered listeners.
      Parameters:
        `font` - the font (`null` not permitted).

    - #### getItemPaint

          public java.awt.Paint getItemPaint()

      Returns the item paint.
      Returns:
        The paint (never `null`).

    - #### setItemPaint

          public void setItemPaint(java.awt.Paint paint)

      Sets the item paint.
      Parameters:
        `paint` - the paint (`null` not permitted).

    - #### getItemLabelPadding

          public RectangleInsets getItemLabelPadding()

      Returns the padding used for the items labels.
      Returns:
        The padding (never `null`).

    - #### setItemLabelPadding

          public void setItemLabelPadding(RectangleInsets padding)

      Sets the padding used for the item labels in the legend.
      Parameters:
        `padding` - the padding (`null` not permitted).

    - #### getSortOrder

          public SortOrder getSortOrder()

      Gets the order used to display legend items.
      Returns:
        The order (never `null`).
      Since:
        1.0.15

    - #### setSortOrder

          public void setSortOrder(SortOrder order)

      Sets the order used to display legend items.
      Parameters:
        `order` - Specifies ascending or descending order (`null` not permitted).
      Since:
        1.0.15

    - #### fetchLegendItems

          protected void fetchLegendItems()

      Fetches the latest legend items.

    - #### createLegendItemBlock

          protected Block createLegendItemBlock(LegendItem item)

      Creates a legend item block.
      Parameters:
        `item` - the legend item.
      Returns:
        The block.

    - #### getItemContainer

          public BlockContainer getItemContainer()

      Returns the container that holds the legend items.
      Returns:
        The container for the legend items.

    - #### arrange

          public 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 title on a Java 2D graphics device (such as the screen or a printer).
      Specified by:
        `draw` in interface `Drawable`
      Specified by:
        `draw` in class `Title`
      Parameters:
        `g2` - the graphics device.
        `area` - the available area for the title.

    - #### 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` - ignored (`null` permitted).
      Returns:
        An `EntityBlockResult` or `null`.

    - #### getWrapper

          public BlockContainer getWrapper()

      Returns the wrapper container, if any.
      Returns:
        The wrapper container (possibly `null`).
      Since:
        1.0.11

    - #### setWrapper

          public void setWrapper(BlockContainer wrapper)

      Sets the wrapper container for the legend.
      Parameters:
        `wrapper` - the wrapper container.

    - #### equals

          public boolean equals(java.lang.Object obj)

      Tests this title for equality with an arbitrary object.
      Overrides:
        `equals` in class `Title`
      Parameters:
        `obj` - the object (`null` permitted).
      Returns:
        A boolean.