org.jfree.chart.renderer
Class StandardXYItemRenderer

java.lang.Object
  extended byorg.jfree.chart.renderer.AbstractRenderer
      extended byorg.jfree.chart.renderer.AbstractXYItemRenderer
          extended byorg.jfree.chart.renderer.StandardXYItemRenderer
All Implemented Interfaces:
java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable, XYItemRenderer
Direct Known Subclasses:
CyclicXYItemRenderer, DefaultXYItemRenderer

public class StandardXYItemRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.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.

Author:
David Gilbert
See Also:
Serialized Form

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
 java.lang.Object clone()
          Returns a clone of the renderer.
 void drawItem(java.awt.Graphics2D g2, XYItemRendererState state, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairInfo crosshairInfo, int pass)
          Draws the visual representation of a single data item.
 boolean equals(java.lang.Object obj)
          Tests this renderer for equality with another object.
 java.lang.Boolean getDefaultShapesFilled()
          Returns the default 'shape filled' attribute.
 double getGapThreshold()
          Returns the gap threshold for discontinuous lines.
protected  java.awt.Image getImage(Plot plot, int series, int item, double x, double y)
          Returns the image used to draw a single data item.
protected  java.awt.Point getImageHotspot(Plot plot, int series, int item, double x, double y, java.awt.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.
 boolean getPlotDiscontinuous()
          Returns true if lines should be discontinuous.
 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 getPlotShapes()
          Returns true if shapes 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.
 void setDefaultShapesFilled(java.lang.Boolean flag)
          Sets the default 'shapes filled' flag.
 void setGapThreshold(double t)
          Sets the gap threshold for discontinuous lines.
 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 setPlotShapes(boolean flag)
          Sets the flag that controls whether or not a shape is plotted at each data point.
 void setSeriesShapesFilled(int series, java.lang.Boolean flag)
          Sets the 'shapes filled' flag for a series.
 void setShapesFilled(boolean filled)
          Sets the 'shapes filled' for ALL series.
 void setShapesFilled(java.lang.Boolean filled)
          Sets the 'shapes filled' for ALL series.
 
Methods inherited from class org.jfree.chart.renderer.AbstractXYItemRenderer
drawDomainGridLine, drawDomainMarker, drawRangeGridLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, getDrawingSupplier, getLegendItem, getPassCount, getPlot, getRangeType, getToolTipGenerator, getURLGenerator, initialise, setPlot, setToolTipGenerator, setURLGenerator
 
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, addPropertyChangeListener, createTransformedShape, firePropertyChanged, getBaseItemLabelAnchor, getBaseItemLabelAngle, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelRotationAnchor, getBaseItemLabelsVisible, getBaseItemLabelTextAnchor, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseShape, getBaseStroke, getItemLabelAnchor, getItemLabelAngle, getItemLabelFont, getItemLabelPaint, getItemLabelRotationAnchor, getItemLabelTextAnchor, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelAnchor, getSeriesItemLabelAngle, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesItemLabelRotationAnchor, getSeriesItemLabelTextAnchor, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, hashCode, isItemLabelVisible, isSeriesItemLabelsVisible, notifyListeners, removeChangeListener, removePropertyChangeListener, setBaseAngle, setBaseItemLabelAnchor, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelRotationAnchor, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelTextAnchor, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setItemLabelAnchor, setItemLabelAngle, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelRotationAnchor, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setItemLabelTextAnchor, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesAngle, setSeriesItemLabelAnchor, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelRotationAnchor, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelTextAnchor, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setShape, setShape, setStroke, setStroke
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.chart.renderer.XYItemRenderer
addPropertyChangeListener, drawDomainGridLine, drawDomainMarker, drawRangeGridLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, getBaseStroke, getItemOutlinePaint, getItemPaint, getItemShape, getItemStroke, getLegendItem, getPassCount, getPlot, getRangeType, getSeriesOutlinePaint, getSeriesPaint, getSeriesShape, getSeriesStroke, getToolTipGenerator, getURLGenerator, initialise, removePropertyChangeListener, setBaseStroke, setPlot, setSeriesPaint, setSeriesStroke, setStroke, setToolTipGenerator, setURLGenerator
 

Field Detail

SHAPES

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

See Also:
Constant Field Values

LINES

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

See Also:
Constant Field Values

SHAPES_AND_LINES

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

See Also:
Constant Field Values

IMAGES

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

See Also:
Constant Field Values

DISCONTINUOUS

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

See Also:
Constant Field Values

DISCONTINUOUS_LINES

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

See Also:
Constant Field Values
Constructor Detail

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 tooltip generator.

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 tooltip generator.
urlGenerator - the URL generator.
Method Detail

getPlotShapes

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

Returns:
true if shapes are being plotted by the renderer.

setPlotShapes

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

Parameters:
flag - the flag.

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.

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.

setShapesFilled

public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.

Parameters:
filled - the flag.

setShapesFilled

public void setShapesFilled(java.lang.Boolean filled)
Sets the 'shapes filled' for ALL series.

Parameters:
filled - the flag (null permitted).

setSeriesShapesFilled

public void setSeriesShapesFilled(int series,
                                  java.lang.Boolean flag)
Sets the 'shapes filled' flag for a series.

Parameters:
series - the series index (zero-based).
flag - the flag.

getDefaultShapesFilled

public java.lang.Boolean getDefaultShapesFilled()
Returns the default 'shape filled' attribute.

Returns:
The default flag.

setDefaultShapesFilled

public void setDefaultShapesFilled(java.lang.Boolean flag)
Sets the default 'shapes filled' flag.

Parameters:
flag - the flag.

getPlotLines

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

Returns:
true if lines are being plotted by the renderer.

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.

getGapThreshold

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

Returns:
the gap threshold.

setGapThreshold

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

Parameters:
t - the threshold.

getPlotImages

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

Returns:
true if images are being plotted by the renderer.

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.

getPlotDiscontinuous

public boolean getPlotDiscontinuous()
Returns true if lines should be discontinuous.

Returns:
true if images are being plotted by the renderer.

drawItem

public void drawItem(java.awt.Graphics2D g2,
                     XYItemRendererState state,
                     java.awt.geom.Rectangle2D dataArea,
                     PlotRenderingInfo info,
                     XYPlot plot,
                     ValueAxis domainAxis,
                     ValueAxis rangeAxis,
                     XYDataset dataset,
                     int series,
                     int item,
                     CrosshairInfo crosshairInfo,
                     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).
crosshairInfo - information about crosshairs on a plot.
pass - the pass index.

equals

public boolean equals(java.lang.Object obj)
Tests this renderer for equality with another object.

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

getImage

protected java.awt.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 java.awt.Point getImageHotspot(Plot plot,
                                         int series,
                                         int item,
                                         double x,
                                         double y,
                                         java.awt.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).
image - the image (can be used to get size information about the image)
series - the series index
item - the item index
x - the x value of the item
y - the y value of the item
Returns:
the hotspot used to draw the data item.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the renderer.

Specified by:
clone in interface org.jfree.util.PublicCloneable
Overrides:
clone in class AbstractXYItemRenderer
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if the renderer cannot be cloned.