org.jfree.chart.renderer.xy
Class XYLineAndShapeRenderer

java.lang.Object
  extended by org.jfree.chart.renderer.AbstractRenderer
      extended by org.jfree.chart.renderer.xy.AbstractXYItemRenderer
          extended by org.jfree.chart.renderer.xy.XYLineAndShapeRenderer
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, LegendItemSource, XYItemRenderer, org.jfree.util.PublicCloneable
Direct Known Subclasses:
DefaultXYItemRenderer, XYLine3DRenderer, XYStepRenderer

public class XYLineAndShapeRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that can be used with the XYPlot class.

See Also:
Serialized Form

Nested Class Summary
static class XYLineAndShapeRenderer.State
          Records the state for the renderer.
 
Field Summary
 
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
XYLineAndShapeRenderer()
          Creates a new renderer with both lines and shapes visible.
XYLineAndShapeRenderer(boolean lines, boolean shapes)
          Creates a new renderer.
 
Method Summary
 java.lang.Object clone()
          Returns a clone of the renderer.
protected  void drawFirstPassShape(java.awt.Graphics2D g2, int pass, int series, int item, java.awt.Shape shape)
          Draws the first pass shape.
 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, CrosshairState crosshairState, int pass)
          Draws the visual representation of a single data item.
protected  void drawPrimaryLine(XYItemRendererState state, java.awt.Graphics2D g2, XYPlot plot, XYDataset dataset, int pass, int series, int item, ValueAxis domainAxis, ValueAxis rangeAxis, java.awt.geom.Rectangle2D dataArea)
          Draws the item (first pass).
protected  void drawPrimaryLineAsPath(XYItemRendererState state, java.awt.Graphics2D g2, XYPlot plot, XYDataset dataset, int pass, int series, int item, ValueAxis domainAxis, ValueAxis rangeAxis, java.awt.geom.Rectangle2D dataArea)
          Draws the item (first pass).
protected  void drawSecondaryPass(java.awt.Graphics2D g2, XYPlot plot, XYDataset dataset, int pass, int series, int item, ValueAxis domainAxis, java.awt.geom.Rectangle2D dataArea, ValueAxis rangeAxis, CrosshairState crosshairState, EntityCollection entities)
          Draws the item shapes and adds chart entities (second pass).
 boolean equals(java.lang.Object obj)
          Tests this renderer for equality with another object.
 boolean getBaseLinesVisible()
          Returns the base 'lines visible' attribute.
 boolean getBaseShapesFilled()
          Returns the base 'shape filled' attribute.
 boolean getBaseShapesVisible()
          Returns the base 'shape visible' attribute.
 boolean getDrawOutlines()
          Returns true if outlines should be drawn for shapes, and false otherwise.
 boolean getDrawSeriesLineAsPath()
          Returns a flag that controls whether or not each series is drawn as a single path.
 boolean getItemLineVisible(int series, int item)
          Returns the flag used to control whether or not the shape for an item is visible.
 boolean getItemShapeFilled(int series, int item)
          Returns the flag used to control whether or not the shape for an item is filled.
 boolean getItemShapeVisible(int series, int item)
          Returns the flag used to control whether or not the shape for an item is visible.
 LegendItem getLegendItem(int datasetIndex, int series)
          Returns a legend item for the specified series.
 java.awt.Shape getLegendLine()
          Returns the shape used to represent a line in the legend.
 java.lang.Boolean getLinesVisible()
          Returns a flag that controls whether or not lines are drawn for ALL series.
 int getPassCount()
          Returns the number of passes through the data that the renderer requires in order to draw the chart.
 java.lang.Boolean getSeriesLinesVisible(int series)
          Returns the flag used to control whether or not the lines for a series are visible.
 java.lang.Boolean getSeriesShapesFilled(int series)
          Returns the flag used to control whether or not the shapes for a series are filled.
 java.lang.Boolean getSeriesShapesVisible(int series)
          Returns the flag used to control whether or not the shapes for a series are visible.
 java.lang.Boolean getShapesVisible()
          Returns the flag that controls whether the shapes are visible for the items in ALL series.
 boolean getUseFillPaint()
          Returns true if the renderer should use the fill paint setting to fill shapes, and false if it should just use the regular paint.
 boolean getUseOutlinePaint()
          Returns true if the renderer should use the outline paint setting to draw shape outlines, and false if it should just use the regular paint.
 XYItemRendererState initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
          Initialises the renderer.
protected  boolean isItemPass(int pass)
          Returns true if the specified pass is the one for drawing items.
protected  boolean isLinePass(int pass)
          Returns true if the specified pass is the one for drawing lines.
 void setBaseLinesVisible(boolean flag)
          Sets the base 'lines visible' flag.
 void setBaseShapesFilled(boolean flag)
          Sets the base 'shapes filled' flag.
 void setBaseShapesVisible(boolean flag)
          Sets the base 'shapes visible' flag.
 void setDrawOutlines(boolean flag)
          Sets the flag that controls whether outlines are drawn for shapes, and sends a RendererChangeEvent to all registered listeners.
 void setDrawSeriesLineAsPath(boolean flag)
          Sets the flag that controls whether or not each series is drawn as a single path.
 void setLegendLine(java.awt.Shape line)
          Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
 void setLinesVisible(boolean visible)
          Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners.
 void setLinesVisible(java.lang.Boolean visible)
          Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners.
 void setSeriesLinesVisible(int series, boolean visible)
          Sets the 'lines visible' flag for a series.
 void setSeriesLinesVisible(int series, java.lang.Boolean flag)
          Sets the 'lines visible' flag for a series.
 void setSeriesShapesFilled(int series, boolean flag)
          Sets the 'shapes filled' flag for a series.
 void setSeriesShapesFilled(int series, java.lang.Boolean flag)
          Sets the 'shapes filled' flag for a series.
 void setSeriesShapesVisible(int series, boolean visible)
          Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
 void setSeriesShapesVisible(int series, java.lang.Boolean flag)
          Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
 void setShapesFilled(boolean filled)
          Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setShapesFilled(java.lang.Boolean filled)
          Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setShapesVisible(boolean visible)
          Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setShapesVisible(java.lang.Boolean visible)
          Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.
 void setUseFillPaint(boolean flag)
          Sets the flag that controls whether the fill paint is used to fill shapes, and sends a RendererChangeEvent to all registered listeners.
 void setUseOutlinePaint(boolean flag)
          Sets the flag that controls whether the outline paint is used to draw shape outlines, and sends a RendererChangeEvent to all registered listeners.
 
Methods inherited from class org.jfree.chart.renderer.xy.AbstractXYItemRenderer
addAnnotation, addAnnotation, addEntity, calculateDomainMarkerTextAnchorPoint, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawItemLabel, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelGenerator, getBaseToolTipGenerator, getDefaultEntityRadius, getDrawingSupplier, getItemLabelGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getSeriesItemLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, removeAnnotation, removeAnnotations, setBaseItemLabelGenerator, setBaseToolTipGenerator, setDefaultEntityRadius, setItemLabelGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues
 
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, calculateLabelAnchorPoint, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, 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, hashCode, hasListener, 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
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.chart.renderer.xy.XYItemRenderer
addAnnotation, addAnnotation, addChangeListener, drawAnnotations, drawDomainGridLine, drawDomainMarker, drawRangeLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, findDomainBounds, findRangeBounds, getBaseItemLabelFont, getBaseItemLabelGenerator, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelGenerator, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendItemLabelGenerator, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelGenerator, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeAnnotation, removeAnnotations, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelGenerator, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelGenerator, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendItemLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelGenerator, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke, setToolTipGenerator, setURLGenerator
 
Methods inherited from interface org.jfree.chart.LegendItemSource
getLegendItems
 

Constructor Detail

XYLineAndShapeRenderer

public XYLineAndShapeRenderer()
Creates a new renderer with both lines and shapes visible.


XYLineAndShapeRenderer

public XYLineAndShapeRenderer(boolean lines,
                              boolean shapes)
Creates a new renderer.

Parameters:
lines - lines visible?
shapes - shapes visible?
Method Detail

getDrawSeriesLineAsPath

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

Returns:
A boolean.
See Also:
setDrawSeriesLineAsPath(boolean)

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.
See Also:
getDrawSeriesLineAsPath()

getPassCount

public int getPassCount()
Returns the number of passes through the data that the renderer requires in order to draw the chart. Most charts will require a single pass, but some require two passes.

Specified by:
getPassCount in interface XYItemRenderer
Overrides:
getPassCount in class AbstractXYItemRenderer
Returns:
The pass count.

getItemLineVisible

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

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

getLinesVisible

public java.lang.Boolean getLinesVisible()
Returns a flag that controls whether or not lines are drawn for ALL series. If this flag is null, then the "per series" settings will apply.

Returns:
A flag (possibly null).

setLinesVisible

public void setLinesVisible(java.lang.Boolean visible)
Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners. You need to set this to null if you want the "per series" settings to apply.

Parameters:
visible - the flag (null permitted).

setLinesVisible

public void setLinesVisible(boolean visible)
Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners.

Parameters:
visible - the flag.

getSeriesLinesVisible

public java.lang.Boolean getSeriesLinesVisible(int series)
Returns the flag used to control whether or not the lines for a series are visible.

Parameters:
series - the series index (zero-based).
Returns:
The flag (possibly null).

setSeriesLinesVisible

public void setSeriesLinesVisible(int series,
                                  java.lang.Boolean flag)
Sets the 'lines visible' flag for a series.

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

setSeriesLinesVisible

public void setSeriesLinesVisible(int series,
                                  boolean visible)
Sets the 'lines visible' flag for a series.

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

getBaseLinesVisible

public boolean getBaseLinesVisible()
Returns the base 'lines visible' attribute.

Returns:
The base flag.

setBaseLinesVisible

public void setBaseLinesVisible(boolean flag)
Sets the base 'lines visible' flag.

Parameters:
flag - the flag.

getLegendLine

public java.awt.Shape getLegendLine()
Returns the shape used to represent a line in the legend.

Returns:
The legend line (never null).

setLegendLine

public void setLegendLine(java.awt.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).

getItemShapeVisible

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

The default implementation passes control to the getSeriesShapesVisible 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.

getShapesVisible

public java.lang.Boolean getShapesVisible()
Returns the flag that controls whether the shapes are visible for the items in ALL series.

Returns:
The flag (possibly null).

setShapesVisible

public void setShapesVisible(java.lang.Boolean visible)
Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
visible - the flag (null permitted).

setShapesVisible

public void setShapesVisible(boolean visible)
Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
visible - the flag.

getSeriesShapesVisible

public java.lang.Boolean getSeriesShapesVisible(int series)
Returns the flag used to control whether or not the shapes for a series are visible.

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

setSeriesShapesVisible

public void setSeriesShapesVisible(int series,
                                   boolean visible)
Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.

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

setSeriesShapesVisible

public void setSeriesShapesVisible(int series,
                                   java.lang.Boolean flag)
Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.

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

getBaseShapesVisible

public boolean getBaseShapesVisible()
Returns the base 'shape visible' attribute.

Returns:
The base flag.

setBaseShapesVisible

public void setBaseShapesVisible(boolean flag)
Sets the base 'shapes visible' flag.

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.

setShapesFilled

public void setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
filled - the flag.

setShapesFilled

public void setShapesFilled(java.lang.Boolean filled)
Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters:
filled - the flag (null permitted).

getSeriesShapesFilled

public java.lang.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.

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.

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.

getBaseShapesFilled

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

Returns:
The base flag.

setBaseShapesFilled

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

Parameters:
flag - the flag.

getDrawOutlines

public boolean getDrawOutlines()
Returns true if outlines should be drawn for shapes, and false otherwise.

Returns:
A boolean.

setDrawOutlines

public void setDrawOutlines(boolean flag)
Sets the flag that controls whether outlines are drawn for shapes, and sends a RendererChangeEvent to all registered listeners.

In some cases, shapes look better if they do NOT have an outline, but this flag allows you to set your own preference.

Parameters:
flag - the flag.

getUseFillPaint

public boolean getUseFillPaint()
Returns true if the renderer should use the fill paint setting to fill shapes, and false if it should just use the regular paint.

Returns:
A boolean.

setUseFillPaint

public void setUseFillPaint(boolean flag)
Sets the flag that controls whether the fill paint is used to fill shapes, and sends a RendererChangeEvent to all registered listeners.

Parameters:
flag - the flag.

getUseOutlinePaint

public boolean getUseOutlinePaint()
Returns true if the renderer should use the outline paint setting to draw shape outlines, and false if it should just use the regular paint.

Returns:
A boolean.

setUseOutlinePaint

public void setUseOutlinePaint(boolean flag)
Sets the flag that controls whether the outline paint is used to draw shape outlines, and sends a RendererChangeEvent to all registered listeners.

Parameters:
flag - the flag.

initialise

public XYItemRendererState initialise(java.awt.Graphics2D g2,
                                      java.awt.geom.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 class 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.

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,
                     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.

isLinePass

protected boolean isLinePass(int pass)
Returns true if the specified pass is the one for drawing lines.

Parameters:
pass - the pass.
Returns:
A boolean.

isItemPass

protected boolean isItemPass(int pass)
Returns true if the specified pass is the one for drawing items.

Parameters:
pass - the pass.
Returns:
A boolean.

drawPrimaryLine

protected void drawPrimaryLine(XYItemRendererState state,
                               java.awt.Graphics2D g2,
                               XYPlot plot,
                               XYDataset dataset,
                               int pass,
                               int series,
                               int item,
                               ValueAxis domainAxis,
                               ValueAxis rangeAxis,
                               java.awt.geom.Rectangle2D dataArea)
Draws the item (first pass). This method draws the lines connecting the items.

Parameters:
g2 - the graphics device.
state - the renderer state.
dataArea - the area within which the data is being drawn.
plot - the plot (can be used to obtain standard color information etc).
domainAxis - the domain axis.
rangeAxis - the range axis.
dataset - the dataset.
pass - the pass.
series - the series index (zero-based).
item - the item index (zero-based).

drawFirstPassShape

protected void drawFirstPassShape(java.awt.Graphics2D g2,
                                  int pass,
                                  int series,
                                  int item,
                                  java.awt.Shape shape)
Draws the first pass shape.

Parameters:
g2 - the graphics device.
pass - the pass.
series - the series index.
item - the item index.
shape - the shape.

drawPrimaryLineAsPath

protected void drawPrimaryLineAsPath(XYItemRendererState state,
                                     java.awt.Graphics2D g2,
                                     XYPlot plot,
                                     XYDataset dataset,
                                     int pass,
                                     int series,
                                     int item,
                                     ValueAxis domainAxis,
                                     ValueAxis rangeAxis,
                                     java.awt.geom.Rectangle2D dataArea)
Draws the item (first pass). This method draws the lines connecting the items. Instead of drawing separate lines, a GeneralPath is constructed and drawn at the end of the series painting.

Parameters:
g2 - the graphics device.
state - the renderer state.
plot - the plot (can be used to obtain standard color information etc).
dataset - the dataset.
pass - the pass.
series - the series index (zero-based).
item - the item index (zero-based).
domainAxis - the domain axis.
rangeAxis - the range axis.
dataArea - the area within which the data is being drawn.

drawSecondaryPass

protected void drawSecondaryPass(java.awt.Graphics2D g2,
                                 XYPlot plot,
                                 XYDataset dataset,
                                 int pass,
                                 int series,
                                 int item,
                                 ValueAxis domainAxis,
                                 java.awt.geom.Rectangle2D dataArea,
                                 ValueAxis rangeAxis,
                                 CrosshairState crosshairState,
                                 EntityCollection entities)
Draws the item shapes and adds chart entities (second pass). This method draws the shapes which mark the item positions. If entities is not null it will be populated with entity information.

Parameters:
g2 - the graphics device.
dataArea - the area within which the data is being drawn.
plot - the plot (can be used to obtain standard color information etc).
domainAxis - the domain axis.
rangeAxis - the range axis.
dataset - the dataset.
pass - the pass.
series - the series index (zero-based).
item - the item index (zero-based).
crosshairState - the crosshair state.
entities - the entity collection.

getLegendItem

public LegendItem getLegendItem(int datasetIndex,
                                int series)
Returns a legend item for the specified series.

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

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 clone cannot be created.

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.