## org.jfree.chart
Class StandardLegend

    java.lang.Object
      org.jfree.chart.Legend
          org.jfree.chart.StandardLegend

All Implemented Interfaces:
  java.lang.Cloneable, java.io.Serializable

Direct Known Subclasses:
  MeterLegend

public class StandardLegend
extends Legend
implements java.io.Serializable

A chart legend shows the names and visual representations of the series that are plotted in a chart.

See Also:
  Serialized Form

Field Summary
`static java.awt.Paint` `DEFAULT_BACKGROUND_PAINT` The default background paint.
`static org.jfree.ui.Spacer` `DEFAULT_INNER_GAP` The default inner gap.
`static java.awt.Font` `DEFAULT_ITEM_FONT` The default item font.
`static org.jfree.ui.Spacer` `DEFAULT_OUTER_GAP` The default outer gap.
`static java.awt.Paint` `DEFAULT_OUTLINE_PAINT` The default outline paint.
`static java.awt.Stroke` `DEFAULT_OUTLINE_STROKE` The default outline stroke.
`static java.awt.Font` `DEFAULT_TITLE_FONT` The default title font.
`static double` `NO_PREFERRED_WIDTH` Used with `setPreferredWidth(double)` to indicate that no preferred width is desired and defaults are to be used.

Fields inherited from class org.jfree.chart.Legend
`EAST, EAST_NORTHEAST, EAST_SOUTHEAST, HORIZONTAL, INVERTED, NORTH, NORTH_NORTHEAST, NORTH_NORTHWEST, SOUTH, SOUTH_SOUTHEAST, SOUTH_SOUTHWEST, WEST, WEST_NORTHWEST, WEST_SOUTHWEST`

Constructor Summary
`StandardLegend()` Constructs a new legend with default settings.
`StandardLegend(JFreeChart chart)` Deprecated. use the default constructor instead and let JFreeChart manage the chart reference

Method Summary
`protected java.awt.geom.Rectangle2D` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D available, boolean horizontal, boolean inverted, ChartRenderingInfo info)` Draws the legend.
`java.awt.geom.Rectangle2D` `draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D available, ChartRenderingInfo info)` Draws the legend on a Java 2D graphics device (such as the screen or a printer).
`boolean` `equals(java.lang.Object obj)` Tests an object for equality with this legend.
`java.awt.Paint` `getBackgroundPaint()` Returns the background paint for the legend.
`int` `getBoundingBoxArcHeight()` Returns the height of the arc used to round off the corners of the bounding box.
`int` `getBoundingBoxArcWidth()` Returns the width of the arc used to round off the corners of the bounding box.
`boolean` `getDisplaySeriesLines()` Returns a flag that controls whether or not the legend displays the series line stroke.
`boolean` `getDisplaySeriesShapes()` Returns a flag that controls whether or not the legend displays the series shapes.
`org.jfree.ui.Spacer` `getInnerGap()` Returns the inner gap for the legend.
`java.awt.Font` `getItemFont()` Returns the series label font.
`java.awt.Paint` `getItemPaint()` Returns the series label paint.
`org.jfree.ui.Spacer` `getOuterGap()` Returns the outer gap for the legend.
`java.awt.Paint` `getOutlinePaint()` Returns the outline paint.
`boolean` `getOutlineShapes()` Returns the flag that indicates whether or not outlines are drawn around shapes.
`java.awt.Stroke` `getOutlineStroke()` Returns the outline stroke.
`double` `getPreferredWidth()` Returns the preferred width of the legend bounding box if such width has been defined; otherwise returns `NO_PREFERRED_WIDTH`.
`LegendRenderingOrder` `getRenderingOrder()` Returns the legend rendering order.
`java.awt.Paint` `getShapeOutlinePaint()` Returns the paint used to outline shapes.
`java.awt.Stroke` `getShapeOutlineStroke()` Returns the stroke used to outline shapes.
`double` `getShapeScaleX()` Returns the x scale factor for shapes displayed in the legend.
`double` `getShapeScaleY()` Returns the y scale factor for shapes displayed in the legend.
`java.lang.String` `getTitle()` Gets the title for the legend.
`java.awt.Font` `getTitleFont()` Returns the title font.
`void` `setBackgroundPaint(java.awt.Paint paint)` Sets the background paint for the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setBoundingBoxArcHeight(int arcHeight)` Sets the height of the arc used to round off the corners of the bounding box.
`void` `setBoundingBoxArcWidth(int arcWidth)` Sets the width of the arc used to round off the corners of the bounding box.
`void` `setDisplaySeriesLines(boolean flag)` Sets a flag that controls whether or not the legend displays the series line stroke.
`void` `setDisplaySeriesShapes(boolean flag)` Sets a flag that controls whether or not the legend displays the series shapes.
`void` `setInnerGap(org.jfree.ui.Spacer innerGap)` Sets the inner gap for the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setItemFont(java.awt.Font font)` Sets the series label font and sends a `LegendChangeEvent` to all registered listeners.
`void` `setItemPaint(java.awt.Paint paint)` Sets the series label paint and sends a `LegendChangeEvent` to all registered listeners.
`void` `setOuterGap(org.jfree.ui.Spacer outerGap)` Sets the outer gap for the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setOutlinePaint(java.awt.Paint paint)` Sets the outline paint and sends a `LegendChangeEvent` to all registered listeners.
`void` `setOutlineShapes(boolean flag)` Sets the flag that controls whether or not outlines are drawn around shapes, and sends a `LegendChangeEvent` to all registered listeners.
`void` `setOutlineStroke(java.awt.Stroke stroke)` Sets the outline stroke and sends a `LegendChangeEvent` to all registered listeners.
`void` `setPreferredWidth(double width)` Sets the preferred width of the legend bounding box.
`void` `setRenderingOrder(LegendRenderingOrder order)` Sets the legend rendering order and sends a `LegendChangeEvent` to all registered listeners.
`void` `setShapeOutlinePaint(java.awt.Paint paint)` Sets the paint used to outline shapes.
`void` `setShapeOutlineStroke(java.awt.Stroke stroke)` Sets the stroke used to outline shapes and sends a `LegendChangeEvent` to all registered listeners.
`void` `setShapeScaleX(double factor)` Sets the x scale factor for shapes displayed in the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setShapeScaleY(double factor)` Sets the y scale factor for shapes displayed in the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setTitle(java.lang.String title)` Sets the title of the legend and sends a `LegendChangeEvent` to all registered listeners.
`void` `setTitleFont(java.awt.Font font)` Sets the title font and sends a `LegendChangeEvent` to all registered listeners.

Methods inherited from class org.jfree.chart.Legend
`addChangeListener, clone, createInstance, getAnchor, getChart, isAnchoredToBottom, isAnchoredToCenter, isAnchoredToLeft, isAnchoredToMiddle, isAnchoredToRight, isAnchoredToTop, notifyListeners, registerChart, removeChangeListener, setAnchor`

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

Field Detail

### DEFAULT_OUTER_GAP

    public static final org.jfree.ui.Spacer DEFAULT_OUTER_GAP

  The default outer gap.

### DEFAULT_INNER_GAP

    public static final org.jfree.ui.Spacer DEFAULT_INNER_GAP

  The default inner gap.

### DEFAULT_OUTLINE_STROKE

    public static final java.awt.Stroke DEFAULT_OUTLINE_STROKE

  The default outline stroke.

### DEFAULT_OUTLINE_PAINT

    public static final java.awt.Paint DEFAULT_OUTLINE_PAINT

  The default outline paint.

### DEFAULT_BACKGROUND_PAINT

    public static final java.awt.Paint DEFAULT_BACKGROUND_PAINT

  The default background paint.

### DEFAULT_TITLE_FONT

    public static final java.awt.Font DEFAULT_TITLE_FONT

  The default title font.

### DEFAULT_ITEM_FONT

    public static final java.awt.Font DEFAULT_ITEM_FONT

  The default item font.

### NO_PREFERRED_WIDTH

    public static final double NO_PREFERRED_WIDTH

  Used with `setPreferredWidth(double)` to indicate that no preferred width is desired and defaults are to be used.

  See Also:
    Constant Field Values

Constructor Detail

### StandardLegend

    public StandardLegend()

  Constructs a new legend with default settings.

### StandardLegend

    public StandardLegend(JFreeChart chart)

  Deprecated. use the default constructor instead and let JFreeChart manage the chart reference

  Creates a new legend.

Parameters:
  `chart` - the chart that the legend belongs to.

Method Detail

### getOuterGap

    public org.jfree.ui.Spacer getOuterGap()

  Returns the outer gap for the legend. This is the amount of blank space around the outside of the legend.

  Returns:
    The gap (never `null`).

### setOuterGap

    public void setOuterGap(org.jfree.ui.Spacer outerGap)

  Sets the outer gap for the legend and sends a `LegendChangeEvent` to all registered listeners.

  Parameters:
    `outerGap` - the outer gap (`null` not permitted).

### getInnerGap

    public org.jfree.ui.Spacer getInnerGap()

  Returns the inner gap for the legend. This is the amount of blank space around the inside of the legend.

  Returns:
    The gap (never `null`).

### setInnerGap

    public void setInnerGap(org.jfree.ui.Spacer innerGap)

  Sets the inner gap for the legend and sends a `LegendChangeEvent` to all registered listeners.

  Parameters:
    `innerGap` - the inner gap (`null` not permitted).

### getBackgroundPaint

    public java.awt.Paint getBackgroundPaint()

  Returns the background paint for the legend.

  Returns:
    The background paint (never `null`).

### setBackgroundPaint

    public void setBackgroundPaint(java.awt.Paint paint)

  Sets the background paint for the legend and sends a `LegendChangeEvent` to all registered listeners.

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

### getOutlineStroke

    public java.awt.Stroke getOutlineStroke()

  Returns the outline stroke.

  Returns:
    The outline stroke (never `null`).

### setOutlineStroke

    public void setOutlineStroke(java.awt.Stroke stroke)

  Sets the outline stroke and sends a `LegendChangeEvent` to all registered listeners.

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

### getOutlinePaint

    public java.awt.Paint getOutlinePaint()

  Returns the outline paint.

  Returns:
    The outline paint (never `null`).

### setOutlinePaint

    public void setOutlinePaint(java.awt.Paint paint)

  Sets the outline paint and sends a `LegendChangeEvent` to all registered listeners.

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

### getTitle

    public java.lang.String getTitle()

  Gets the title for the legend.

  Returns:
    The title (possibly `null`).

### setTitle

    public void setTitle(java.lang.String title)

  Sets the title of the legend and sends a `LegendChangeEvent` to all registered listeners.

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

### getTitleFont

    public java.awt.Font getTitleFont()

  Returns the title font.

  Returns:
    The font (never `null`).

### setTitleFont

    public void setTitleFont(java.awt.Font font)

  Sets the title font and sends a `LegendChangeEvent` to all registered listeners.

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

### getItemFont

    public java.awt.Font getItemFont()

  Returns the series label font.

  Returns:
    The font (never `null`).

### setItemFont

    public void setItemFont(java.awt.Font font)

  Sets the series label font and sends a `LegendChangeEvent` to all registered listeners.

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

### getItemPaint

    public java.awt.Paint getItemPaint()

  Returns the series label paint.

  Returns:
    The paint (never `null`).

### setItemPaint

    public void setItemPaint(java.awt.Paint paint)

  Sets the series label paint and sends a `LegendChangeEvent` to all registered listeners.

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

### getOutlineShapes

    public boolean getOutlineShapes()

  Returns the flag that indicates whether or not outlines are drawn around shapes.

  Returns:
    The flag.

### setOutlineShapes

    public void setOutlineShapes(boolean flag)

  Sets the flag that controls whether or not outlines are drawn around shapes, and sends a `LegendChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.

### getShapeOutlineStroke

    public java.awt.Stroke getShapeOutlineStroke()

  Returns the stroke used to outline shapes.

  Returns:
    The stroke (never `null`).

### setShapeOutlineStroke

    public void setShapeOutlineStroke(java.awt.Stroke stroke)

  Sets the stroke used to outline shapes and sends a `LegendChangeEvent` to all registered listeners.

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

### getShapeOutlinePaint

    public java.awt.Paint getShapeOutlinePaint()

  Returns the paint used to outline shapes.

  Returns:
    The paint.

### setShapeOutlinePaint

    public void setShapeOutlinePaint(java.awt.Paint paint)

  Sets the paint used to outline shapes. A `LegendChangeEvent` is sent to all registered listeners.

  Parameters:
    `paint` - the paint.

### setDisplaySeriesShapes

    public void setDisplaySeriesShapes(boolean flag)

  Sets a flag that controls whether or not the legend displays the series shapes.

  Parameters:
    `flag` - the new value of the flag.

### getDisplaySeriesShapes

    public boolean getDisplaySeriesShapes()

  Returns a flag that controls whether or not the legend displays the series shapes.

  Returns:
    `true` if the series shapes should be displayed, `false` otherwise.

### getShapeScaleX

    public double getShapeScaleX()

  Returns the x scale factor for shapes displayed in the legend.

  Returns:
    the x scale factor.

### setShapeScaleX

    public void setShapeScaleX(double factor)

  Sets the x scale factor for shapes displayed in the legend and sends a `LegendChangeEvent` to all registered listeners.

  Parameters:
    `factor` - the factor.

### getShapeScaleY

    public double getShapeScaleY()

  Returns the y scale factor for shapes displayed in the legend.

  Returns:
    the y scale factor.

### setShapeScaleY

    public void setShapeScaleY(double factor)

  Sets the y scale factor for shapes displayed in the legend and sends a `LegendChangeEvent` to all registered listeners.

  Parameters:
    `factor` - the factor.

### setDisplaySeriesLines

    public void setDisplaySeriesLines(boolean flag)

  Sets a flag that controls whether or not the legend displays the series line stroke.

  Parameters:
    `flag` - the new value of the flag.

### getDisplaySeriesLines

    public boolean getDisplaySeriesLines()

  Returns a flag that controls whether or not the legend displays the series line stroke.

  Returns:
    `true` if the series lines should be displayed, `false` otherwise.

### getRenderingOrder

    public LegendRenderingOrder getRenderingOrder()

  Returns the legend rendering order.

  Returns:
    The order (never `null`).

### setRenderingOrder

    public void setRenderingOrder(LegendRenderingOrder order)

  Sets the legend rendering order and sends a `LegendChangeEvent` to all registered listeners.

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

### getBoundingBoxArcWidth

    public int getBoundingBoxArcWidth()

  Returns the width of the arc used to round off the corners of the bounding box.

  Returns:
    the width of the arc used to round off the corners of the bounding box.

### setBoundingBoxArcWidth

    public void setBoundingBoxArcWidth(int arcWidth)

  Sets the width of the arc used to round off the corners of the bounding box. A `LegendChangeEvent` is sent to all registered listeners.

  Parameters:
    `arcWidth` - the new arc width.

### getBoundingBoxArcHeight

    public int getBoundingBoxArcHeight()

  Returns the height of the arc used to round off the corners of the bounding box.

  Returns:
    the height of the arc used to round off the corners of the bounding box.

### setBoundingBoxArcHeight

    public void setBoundingBoxArcHeight(int arcHeight)

  Sets the height of the arc used to round off the corners of the bounding box. A `LegendChangeEvent` is sent to all registered listeners.

  Parameters:
    `arcHeight` - the new arc height.

### getPreferredWidth

    public double getPreferredWidth()

  Returns the preferred width of the legend bounding box if such width has been defined; otherwise returns `NO_PREFERRED_WIDTH`.

  Returns:
    the preferred width of the legend bounding box if such width has been defined; otherwise returns `NO_PREFERRED_WIDTH`.

### setPreferredWidth

    public void setPreferredWidth(double width)

  Sets the preferred width of the legend bounding box. If a preferred width is set, the legend text is word-wrapped in an attempt to fulfill the preferred width. If the preferred width cannot be fulfilled, the legend would be wider to the extent necessary.

  The preferred width takes effect only when the legend's anchor is set to one of the three EAST anchors or to one of the three WEST anchors.

  A `LegendChangeEvent` is sent to all registered listeners.

  Parameters:
    `width` - the new width.

### draw

    public java.awt.geom.Rectangle2D draw(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D available,
                                          ChartRenderingInfo info)

  Draws the legend on a Java 2D graphics device (such as the screen or a printer).

  Specified by:
    `draw` in class `Legend`
  Parameters:
    `g2` - the graphics device.
    `available` - the area within which the legend, and afterwards the plot, should be drawn.
    `info` - collects rendering info (optional).
  Returns:
    The area NOT used by the legend.

### draw

    protected java.awt.geom.Rectangle2D draw(java.awt.Graphics2D g2,
                                             java.awt.geom.Rectangle2D available,
                                             boolean horizontal,
                                             boolean inverted,
                                             ChartRenderingInfo info)

  Draws the legend.

  Parameters:
    `g2` - the graphics device.
    `available` - the area available for drawing the chart.
    `horizontal` - a flag indicating whether the legend items are laid out horizontally.
    `inverted` - ???
    `info` - collects rendering info (optional).
  Returns:
    The remaining available drawing area.

### equals

    public boolean equals(java.lang.Object obj)

  Tests an object for equality with this legend.

  Overrides:
    `equals` in class `Legend`
  Parameters:
    `obj` - the object.
  Returns:
    `true` or `false`.