org.jfree.chart.renderer.xy

Class StandardXYItemRenderer

Implemented Interfaces:
Cloneable, LegendItemSource, PublicCloneable, Serializable, XYItemRenderer
Known Direct Subclasses:
CyclicXYItemRenderer

public class StandardXYItemRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, Cloneable, PublicCloneable, Serializable

Standard item renderer for an XYPlot. This class can draw (a) shapes at each point, or (b) lines between points, or (c) both shapes and lines.

This renderer has been retained for historical reasons and, in general, you should use the XYLineAndShapeRenderer class instead.

Nested Class Summary

static class
StandardXYItemRenderer.State
Records the state for the renderer.

Field Summary

static int
DISCONTINUOUS
Constant for the type of rendering (discontinuous lines).
static int
DISCONTINUOUS_LINES
Constant for the type of rendering (discontinuous lines).
static int
IMAGES
Constant for the type of rendering (images only).
static int
LINES
Constant for the type of rendering (lines only).
static int
SHAPES
Constant for the type of rendering (shapes only).
static int
SHAPES_AND_LINES
Constant for the type of rendering (shapes and lines).

Fields inherited from class org.jfree.chart.renderer.AbstractRenderer

DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO

Constructor Summary

StandardXYItemRenderer()
Constructs a new renderer.
StandardXYItemRenderer(int type)
Constructs a new renderer.
StandardXYItemRenderer(int type, XYToolTipGenerator toolTipGenerator)
Constructs a new renderer.
StandardXYItemRenderer(int type, XYToolTipGenerator toolTipGenerator, XYURLGenerator urlGenerator)
Constructs a new renderer.

Method Summary

Object
clone()
Returns a clone of the renderer.
void
drawItem(Graphics2D g2, XYItemRendererState state, Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)
Draws the visual representation of a single data item.
boolean
equals(Object obj)
Tests this renderer for equality with another object.
boolean
getBaseShapesFilled()
Returns the base 'shape filled' attribute.
boolean
getBaseShapesVisible()
Returns true if shapes are being plotted by the renderer.
boolean
getDrawSeriesLineAsPath()
Returns a flag that controls whether or not each series is drawn as a single path.
double
getGapThreshold()
Returns the gap threshold for discontinuous lines.
UnitType
getGapThresholdType()
Returns the gap threshold type (relative or absolute).
protected Image
getImage(Plot plot, int series, int item, double x, double y)
Returns the image used to draw a single data item.
protected Point
getImageHotspot(Plot plot, int series, int item, double x, double y, Image image)
Returns the hotspot of the image used to draw a single data item.
boolean
getItemShapeFilled(int series, int item)
Returns the flag used to control whether or not the shape for an item is filled.
LegendItem
getLegendItem(int datasetIndex, int series)
Returns a legend item for a series.
Shape
getLegendLine()
Returns the shape used to represent a line in the legend.
boolean
getPlotDiscontinuous()
Returns a flag that controls whether or not the renderer shows discontinuous lines.
boolean
getPlotImages()
Returns true if images are being plotted by the renderer.
boolean
getPlotLines()
Returns true if lines are being plotted by the renderer.
Boolean
getSeriesShapesFilled(int series)
Returns the flag used to control whether or not the shapes for a series are filled.
Boolean
getShapesFilled()
Returns the override flag that controls whether or not shapes are filled for ALL series.
XYItemRendererState
initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer.
void
setBaseShapesFilled(boolean flag)
Sets the base 'shapes filled' flag.
void
setBaseShapesVisible(boolean flag)
Sets the flag that controls whether or not a shape is plotted at each data point.
void
setDrawSeriesLineAsPath(boolean flag)
Sets the flag that controls whether or not each series is drawn as a single path.
void
setGapThreshold(double t)
Sets the gap threshold for discontinuous lines.
void
setGapThresholdType(UnitType thresholdType)
Sets the gap threshold type.
void
setLegendLine(Shape line)
Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
void
setPlotDiscontinuous(boolean flag)
Sets the flag that controls whether or not the renderer shows discontinuous lines, and sends a RendererChangeEvent to all registered listeners.
void
setPlotImages(boolean flag)
Sets the flag that controls whether or not an image is drawn at each data point.
void
setPlotLines(boolean flag)
Sets the flag that controls whether or not a line is plotted between each data point.
void
setSeriesShapesFilled(int series, Boolean flag)
Sets the 'shapes filled' flag for a series.
void
setShapesFilled(Boolean filled)
Sets the override flag that controls whether or not shapes are filled for ALL series and sends a RendererChangeEvent to all registered listeners.
void
setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.

Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer

addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, clone, drawAnnotations, drawDomainGridLine, drawDomainLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, equals, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDefaultEntityRadius, getDrawingSupplier, getItemLabelGenerator, getItemLabelGenerator, getLegendItem, getLegendItemLabelGenerator, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getLegendItems, getPassCount, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, getURLGenerator, initialise, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setDefaultEntityRadius, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues, updateCrosshairValues

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

addChangeListener, calculateLabelAnchorPoint, clone, equals, fireChangeEvent, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDrawingSupplier, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, hasListener, hashCode, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, notifyListeners, removeChangeListener, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke

Field Details

DISCONTINUOUS

public static final int DISCONTINUOUS
Constant for the type of rendering (discontinuous lines).
Field Value:
8

DISCONTINUOUS_LINES

public static final int DISCONTINUOUS_LINES
Constant for the type of rendering (discontinuous lines).
Field Value:
10

IMAGES

public static final int IMAGES
Constant for the type of rendering (images only).
Field Value:
4

LINES

public static final int LINES
Constant for the type of rendering (lines only).
Field Value:
2

SHAPES

public static final int SHAPES
Constant for the type of rendering (shapes only).
Field Value:
1

SHAPES_AND_LINES

public static final int SHAPES_AND_LINES
Constant for the type of rendering (shapes and lines).
Field Value:
3

Constructor Details

StandardXYItemRenderer

public StandardXYItemRenderer()
Constructs a new renderer.

StandardXYItemRenderer

public StandardXYItemRenderer(int type)
Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
Parameters:
type - the type.

StandardXYItemRenderer

public StandardXYItemRenderer(int type,
                              XYToolTipGenerator toolTipGenerator)
Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
Parameters:
type - the type of renderer.
toolTipGenerator - the item label generator (null permitted).

StandardXYItemRenderer

public StandardXYItemRenderer(int type,
                              XYToolTipGenerator toolTipGenerator,
                              XYURLGenerator urlGenerator)
Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
Parameters:
type - the type of renderer.
toolTipGenerator - the item label generator (null permitted).
urlGenerator - the URL generator.

Method Details

clone

public Object clone()
            throws CloneNotSupportedException
Returns a clone of the renderer.
Overrides:
clone in interface AbstractXYItemRenderer
Returns:
A clone.

drawItem

public void drawItem(Graphics2D g2,
                     XYItemRendererState state,
                     Rectangle2D dataArea,
                     PlotRenderingInfo info,
                     XYPlot plot,
                     ValueAxis domainAxis,
                     ValueAxis rangeAxis,
                     XYDataset dataset,
                     int series,
                     int item,
                     CrosshairState crosshairState,
                     int pass)
Draws the visual representation of a single data item.
Specified by:
drawItem in interface XYItemRenderer
Parameters:
g2 - the graphics device.
state - the renderer state.
dataArea - the area within which the data is being drawn.
info - collects information about the drawing.
plot - the plot (can be used to obtain standard color information etc).
domainAxis - the domain axis.
rangeAxis - the range axis.
dataset - the dataset.
series - the series index (zero-based).
item - the item index (zero-based).
crosshairState - crosshair information for the plot (null permitted).
pass - the pass index.

equals

public boolean equals(Object obj)
Tests this renderer for equality with another object.
Overrides:
equals in interface AbstractXYItemRenderer
Parameters:
obj - the object (null permitted).
Returns:
A boolean.

getBaseShapesFilled

public boolean getBaseShapesFilled()
Returns the base 'shape filled' attribute.
Returns:
The base flag.

getBaseShapesVisible

public boolean getBaseShapesVisible()
Returns true if shapes are being plotted by the renderer.
Returns:
true if shapes are being plotted by the renderer.

getDrawSeriesLineAsPath

public boolean getDrawSeriesLineAsPath()
Returns a flag that controls whether or not each series is drawn as a single path.
Returns:
A boolean.

getGapThreshold

public double getGapThreshold()
Returns the gap threshold for discontinuous lines.
Returns:
The gap threshold.

getGapThresholdType

public UnitType getGapThresholdType()
Returns the gap threshold type (relative or absolute).
Returns:
The type.

getImage

protected Image getImage(Plot plot,
                         int series,
                         int item,
                         double x,
                         double y)
Returns the image used to draw a single data item.
Parameters:
plot - the plot (can be used to obtain standard color information etc).
series - the series index.
item - the item index.
x - the x value of the item.
y - the y value of the item.
Returns:
The image.

getImageHotspot

protected Point getImageHotspot(Plot plot,
                                int series,
                                int item,
                                double x,
                                double y,
                                Image image)
Returns the hotspot of the image used to draw a single data item. The hotspot is the point relative to the top left of the image that should indicate the data item. The default is the center of the image.
Parameters:
plot - the plot (can be used to obtain standard color information etc).
series - the series index
item - the item index
x - the x value of the item
y - the y value of the item
image - the image (can be used to get size information about the image)
Returns:
The hotspot used to draw the data item.

getItemShapeFilled

public boolean getItemShapeFilled(int series,
                                  int item)
Returns the flag used to control whether or not the shape for an item is filled.

The default implementation passes control to the getSeriesShapesFilled method. You can override this method if you require different behaviour.

Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
A boolean.

getLegendItem

public LegendItem getLegendItem(int datasetIndex,
                                int series)
Returns a legend item for a series.
Specified by:
getLegendItem in interface XYItemRenderer
Overrides:
getLegendItem in interface AbstractXYItemRenderer
Parameters:
datasetIndex - the dataset index (zero-based).
series - the series index (zero-based).
Returns:
A legend item for the series.

getLegendLine

public Shape getLegendLine()
Returns the shape used to represent a line in the legend.
Returns:
The legend line (never null).

getPlotDiscontinuous

public boolean getPlotDiscontinuous()
Returns a flag that controls whether or not the renderer shows discontinuous lines.
Returns:
true if lines should be discontinuous.

getPlotImages

public boolean getPlotImages()
Returns true if images are being plotted by the renderer.
Returns:
true if images are being plotted by the renderer.

getPlotLines

public boolean getPlotLines()
Returns true if lines are being plotted by the renderer.
Returns:
true if lines are being plotted by the renderer.

getSeriesShapesFilled

public Boolean getSeriesShapesFilled(int series)
Returns the flag used to control whether or not the shapes for a series are filled.
Parameters:
series - the series index (zero-based).
Returns:
A boolean.

getShapesFilled

public Boolean getShapesFilled()
Returns the override flag that controls whether or not shapes are filled for ALL series.
Returns:
The flag (possibly null).
Since:
1.0.5

initialise

public XYItemRendererState initialise(Graphics2D g2,
                                      Rectangle2D dataArea,
                                      XYPlot plot,
                                      XYDataset data,
                                      PlotRenderingInfo info)
Initialises the renderer.

This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

Specified by:
initialise in interface XYItemRenderer
Overrides:
initialise in interface AbstractXYItemRenderer
Parameters:
g2 - the graphics device.
dataArea - the area inside the axes.
plot - the plot.
data - the data.
info - an optional info collection object to return data back to the caller.
Returns:
The renderer state.

setBaseShapesFilled

public void setBaseShapesFilled(boolean flag)
Sets the base 'shapes filled' flag.
Parameters:
flag - the flag.

setBaseShapesVisible

public void setBaseShapesVisible(boolean flag)
Sets the flag that controls whether or not a shape is plotted at each data point.
Parameters:
flag - the flag.

setDrawSeriesLineAsPath

public void setDrawSeriesLineAsPath(boolean flag)
Sets the flag that controls whether or not each series is drawn as a single path.
Parameters:
flag - the flag.

setGapThreshold

public void setGapThreshold(double t)
Sets the gap threshold for discontinuous lines.
Parameters:
t - the threshold.

setGapThresholdType

public void setGapThresholdType(UnitType thresholdType)
Sets the gap threshold type.
Parameters:
thresholdType - the type (null not permitted).

setLegendLine

public void setLegendLine(Shape line)
Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
Parameters:
line - the line (null not permitted).

setPlotDiscontinuous

public void setPlotDiscontinuous(boolean flag)
Sets the flag that controls whether or not the renderer shows discontinuous lines, and sends a RendererChangeEvent to all registered listeners.
Parameters:
flag - the new flag value.
Since:
1.0.5

setPlotImages

public void setPlotImages(boolean flag)
Sets the flag that controls whether or not an image is drawn at each data point.
Parameters:
flag - the flag.

setPlotLines

public void setPlotLines(boolean flag)
Sets the flag that controls whether or not a line is plotted between each data point.
Parameters:
flag - the flag.

setSeriesShapesFilled

public void setSeriesShapesFilled(int series,
                                  Boolean flag)
Sets the 'shapes filled' flag for a series.
Parameters:
series - the series index (zero-based).
flag - the flag.

setShapesFilled

public void setShapesFilled(Boolean filled)
Sets the override flag that controls whether or not shapes are filled for ALL series and sends a RendererChangeEvent to all registered listeners.
Parameters:
filled - the flag (null permitted).

setShapesFilled

public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.
Parameters:
filled - the flag.