org.jfree.chart
Class StandardLegend

java.lang.Object
  extended byorg.jfree.chart.Legend
      extended byorg.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.