org.jfree.chart.renderer.category

Class LineAndShapeRenderer

Implemented Interfaces:
Cloneable, PublicCloneable, Serializable, CategoryItemRenderer, LegendItemSource, Serializable
Known Direct Subclasses:
DefaultCategoryItemRenderer, LineRenderer3D, StatisticalLineAndShapeRenderer

public class LineAndShapeRenderer
extends AbstractCategoryItemRenderer
implements Cloneable, PublicCloneable, Serializable

A renderer that draws shapes for each data item, and lines between data items (for use with the CategoryPlot class).

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

LineAndShapeRenderer()
Creates a renderer with both lines and shapes visible by default.
LineAndShapeRenderer(boolean lines, boolean shapes)
Creates a new renderer with lines and/or shapes visible.

Method Summary

Object
clone()
Returns an independent copy of the renderer.
void
drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draw a single data item.
boolean
equals(Object obj)
Tests this renderer for equality with an arbitrary 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
getItemLineVisible(int series, int item)
Returns the flag used to control whether or not the line 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 a series.
Boolean
getLinesVisible()
Returns a flag that controls whether or not lines are drawn for ALL series.
int
getPassCount()
This renderer uses two passes to draw the data.
Boolean
getSeriesLinesVisible(int series)
Returns the flag used to control whether or not the lines for a series are visible.
boolean
getSeriesShapesFilled(int series)
Returns the flag used to control whether or not the shapes for a series are filled.
Boolean
getSeriesShapesVisible(int series)
Returns the flag used to control whether or not the shapes for a series are visible.
Boolean
getShapesFilled()
Returns the flag that controls whether or not shapes are filled for ALL series.
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 the flag that controls whether the outline paint is used for shape outlines.
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
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(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 flag)
Sets the 'lines visible' flag for a series.
void
setSeriesLinesVisible(int series, boolean visible)
Sets the 'lines visible' flag for a series.
void
setSeriesShapesFilled(int series, Boolean filled)
Sets the 'shapes filled' flag for a series.
void
setSeriesShapesFilled(int series, boolean filled)
Sets the 'shapes filled' flag for a series.
void
setSeriesShapesVisible(int series, Boolean flag)
Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
void
setSeriesShapesVisible(int series, boolean visible)
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.
void
setShapesFilled(boolean filled)
Sets the 'shapes filled' for ALL series.
void
setShapesVisible(Boolean visible)
Sets the 'shapes visible' 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
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 use)
Sets the flag that controls whether the outline paint is used for shape outlines.

Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, clone, createState, drawBackground, drawDomainGridline, drawDomainMarker, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, equals, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemURLGenerator, getLegendItem, getLegendItemLabelGenerator, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getLegendItems, getPassCount, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator

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

Constructor Details

LineAndShapeRenderer

public LineAndShapeRenderer()
Creates a renderer with both lines and shapes visible by default.

LineAndShapeRenderer

public LineAndShapeRenderer(boolean lines,
                            boolean shapes)
Creates a new renderer with lines and/or shapes visible.
Parameters:
lines - draw lines?
shapes - draw shapes?

Method Details

clone

public Object clone()
            throws CloneNotSupportedException
Returns an independent copy of the renderer.
Overrides:
clone in interface AbstractCategoryItemRenderer
Returns:
A clone.

drawItem

public void drawItem(Graphics2D g2,
                     CategoryItemRendererState state,
                     Rectangle2D dataArea,
                     CategoryPlot plot,
                     CategoryAxis domainAxis,
                     ValueAxis rangeAxis,
                     CategoryDataset dataset,
                     int row,
                     int column,
                     int pass)
Draw a single data item.
Specified by:
drawItem in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
state - the renderer state.
dataArea - the area in which the data is drawn.
plot - the plot.
domainAxis - the domain axis.
rangeAxis - the range axis.
dataset - the dataset.
row - the row index (zero-based).
column - the column index (zero-based).
pass - the pass index.

equals

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

getBaseLinesVisible

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

getBaseShapesFilled

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

getBaseShapesVisible

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

getDrawOutlines

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

getItemLineVisible

public boolean getItemLineVisible(int series,
                                  int item)
Returns the flag used to control whether or not the line for an item is visible.
Parameters:
series - the series index (zero-based).
item - the item index (zero-based).
Returns:
A boolean.

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.

getItemShapeVisible

public boolean getItemShapeVisible(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.

getLegendItem

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

getLinesVisible

public 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).

getPassCount

public int getPassCount()
This renderer uses two passes to draw the data.
Specified by:
getPassCount in interface CategoryItemRenderer
Overrides:
getPassCount in interface AbstractCategoryItemRenderer
Returns:
The pass count (2 for this renderer).

getSeriesLinesVisible

public 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).

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.

getSeriesShapesVisible

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

getShapesFilled

public Boolean getShapesFilled()
Returns the flag that controls whether or not shapes are filled for ALL series.
Returns:
A Boolean.

getShapesVisible

public Boolean getShapesVisible()
Returns the flag that controls whether the shapes are visible for the items in ALL series.
Returns:
The flag (possibly null).

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.

getUseOutlinePaint

public boolean getUseOutlinePaint()
Returns the flag that controls whether the outline paint is used for shape outlines. If not, the regular series paint is used.
Returns:
A boolean.

setBaseLinesVisible

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

setBaseShapesFilled

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

setBaseShapesVisible

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

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.

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

setSeriesLinesVisible

public void setSeriesLinesVisible(int series,
                                  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.

setSeriesShapesFilled

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

setSeriesShapesFilled

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

setSeriesShapesVisible

public void setSeriesShapesVisible(int series,
                                   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.

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.

setShapesFilled

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

setShapesFilled

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

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

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.

setUseOutlinePaint

public void setUseOutlinePaint(boolean use)
Sets the flag that controls whether the outline paint is used for shape outlines.
Parameters:
use - the flag.