org.jfree.chart.renderer.category
Class LineAndShapeRenderer

java.lang.Object
  extended byorg.jfree.chart.renderer.AbstractRenderer
      extended byorg.jfree.chart.renderer.category.AbstractCategoryItemRenderer
          extended byorg.jfree.chart.renderer.category.LineAndShapeRenderer
All Implemented Interfaces:
CategoryItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable
Direct Known Subclasses:
DefaultCategoryItemRenderer

public class LineAndShapeRenderer
extends AbstractCategoryItemRenderer
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that draws shapes for each data item, and lines between data items.

For use with the CategoryPlot class.

See Also:
Serialized Form

Field Summary
static int BOTTOM
          Constant indicating that labels are to be shown below data points
static int LEFT
          Constant indicating that labels are to be shown left of data points
static int LINES
          Useful constant for specifying the type of rendering (lines only).
static int RIGHT
          Constant indicating that labels are to be shown right of data points
static int SHAPES
          Useful constant for specifying the type of rendering (shapes only).
static int SHAPES_AND_LINES
          Useful constant for specifying the type of rendering (shapes and lines).
static int TOP
          Constant indicating that labels are to be shown above data points
 
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()
          Constructs a default renderer (draws shapes and lines).
LineAndShapeRenderer(int type)
          Constructs a renderer of the specified type.
 
Method Summary
 java.lang.Object clone()
          Returns an independent copy of the renderer.
 void drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column)
          Draw 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.
 boolean getItemShapeFilled(int series, int item)
          Returns the flag used to control whether or not the shape for an item is filled.
 boolean getSeriesShapesFilled(int series)
          Returns the flag used to control whether or not the shapes for a series are filled.
 java.lang.Boolean getShapesFilled()
          Returns the flag that controls whether or not shapes are filled for ALL series.
 boolean getUseFillPaintForShapeOutline()
          Returns the flag that controls whether the fill paint is used for shape outlines.
 boolean isDrawLines()
          Returns true if a line should be drawn from the previous to the current data point, and false otherwise.
 boolean isDrawShapes()
          Returns true if a shape should be drawn to represent each data point, and false otherwise.
 void setDefaultShapesFilled(boolean flag)
          Sets the default 'shapes filled' flag.
 void setDefaultShapesFilled(java.lang.Boolean flag)
          Sets the default 'shapes filled' flag.
 void setDrawLines(boolean draw)
          Sets the flag that controls whether or not lines are drawn between consecutive data points.
 void setDrawShapes(boolean draw)
          Sets the flag that controls whether or not a shape should be drawn to represent each data point.
 void setSeriesShapesFilled(int series, boolean filled)
          Sets the 'shapes filled' flag for a series.
 void setSeriesShapesFilled(int series, java.lang.Boolean filled)
          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.
 void setUseFillPaintForShapeOutline(boolean use)
          Sets the flag that controls whether the fill paint is used for shape outlines.
 
Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
drawBackground, drawDomainGridline, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, getBaseItemURLGenerator, getBaseLabelGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemURLGenerator, getLabelGenerator, getLegendItem, getPlot, getRangeAxis, getRangeExtent, getRowCount, getSeriesItemURLGenerator, getSeriesLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemURLGenerator, setBaseLabelGenerator, setBaseToolTipGenerator, setItemURLGenerator, setLabelGenerator, setPlot, setSeriesItemURLGenerator, setSeriesLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator
 
Methods inherited from class org.jfree.chart.renderer.AbstractRenderer
addChangeListener, calculateLabelAnchorPoint, createTransformedShape, getBaseItemLabelAnchor, getBaseItemLabelAngle, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelRotationAnchor, getBaseItemLabelsVisible, getBaseItemLabelTextAnchor, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseShape, getBaseStroke, getItemLabelAnchor, getItemLabelAnchorOffset, getItemLabelAngle, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemLabelRotationAnchor, getItemLabelTextAnchor, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelAnchor, getSeriesItemLabelAngle, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesItemLabelRotationAnchor, getSeriesItemLabelTextAnchor, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, isItemLabelVisible, isSeriesItemLabelsVisible, notifyListeners, removeChangeListener, setBaseAngle, setBaseItemLabelAnchor, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelRotationAnchor, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelTextAnchor, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setItemLabelAnchor, setItemLabelAnchorOffset, 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, setSeriesItemLabelsVisible, setSeriesItemLabelTextAnchor, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, 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.category.CategoryItemRenderer
addChangeListener, getBaseItemLabelAnchor, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseItemLabelTextAnchor, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseShape, getBaseStroke, getItemLabelAnchor, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemLabelTextAnchor, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelAnchor, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesItemLabelTextAnchor, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, isItemLabelVisible, isSeriesItemLabelsVisible, removeChangeListener, setBaseItemLabelAnchor, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelTextAnchor, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseShape, setBaseStroke, setItemLabelAnchor, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setItemLabelTextAnchor, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelAnchor, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelTextAnchor, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setShape, setStroke
 

Field Detail

SHAPES

public static final int SHAPES
Useful constant for specifying the type of rendering (shapes only).

See Also:
Constant Field Values

LINES

public static final int LINES
Useful constant for specifying the type of rendering (lines only).

See Also:
Constant Field Values

SHAPES_AND_LINES

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

See Also:
Constant Field Values

TOP

public static final int TOP
Constant indicating that labels are to be shown above data points

See Also:
Constant Field Values

BOTTOM

public static final int BOTTOM
Constant indicating that labels are to be shown below data points

See Also:
Constant Field Values

LEFT

public static final int LEFT
Constant indicating that labels are to be shown left of data points

See Also:
Constant Field Values

RIGHT

public static final int RIGHT
Constant indicating that labels are to be shown right of data points

See Also:
Constant Field Values
Constructor Detail

LineAndShapeRenderer

public LineAndShapeRenderer()
Constructs a default renderer (draws shapes and lines).


LineAndShapeRenderer

public LineAndShapeRenderer(int type)
Constructs a renderer of the specified type.

Use one of the constants SHAPES, LINES or SHAPES_AND_LINES.

Parameters:
type - the type of renderer.
Method Detail

getUseFillPaintForShapeOutline

public boolean getUseFillPaintForShapeOutline()
Returns the flag that controls whether the fill paint is used for shape outlines.

Returns:
A boolean.

setUseFillPaintForShapeOutline

public void setUseFillPaintForShapeOutline(boolean use)
Sets the flag that controls whether the fill paint is used for shape outlines.

Parameters:
use - the flag.

isDrawShapes

public boolean isDrawShapes()
Returns true if a shape should be drawn to represent each data point, and false otherwise.

Returns:
A boolean flag.

setDrawShapes

public void setDrawShapes(boolean draw)
Sets the flag that controls whether or not a shape should be drawn to represent each data point.

Parameters:
draw - the new value of the flag.

isDrawLines

public boolean isDrawLines()
Returns true if a line should be drawn from the previous to the current data point, and false otherwise.

Returns:
A boolean flag.

setDrawLines

public void setDrawLines(boolean draw)
Sets the flag that controls whether or not lines are drawn between consecutive data points.

Parameters:
draw - the new value of 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.

getShapesFilled

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

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

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.

setDefaultShapesFilled

public void setDefaultShapesFilled(boolean flag)
Sets the default 'shapes filled' flag.

Parameters:
flag - the flag.

drawItem

public void drawItem(java.awt.Graphics2D g2,
                     CategoryItemRendererState state,
                     java.awt.geom.Rectangle2D dataArea,
                     CategoryPlot plot,
                     CategoryAxis domainAxis,
                     ValueAxis rangeAxis,
                     CategoryDataset dataset,
                     int row,
                     int column)
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).

equals

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

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

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns an independent copy of the renderer.

Specified by:
clone in interface org.jfree.util.PublicCloneable
Overrides:
clone in class AbstractCategoryItemRenderer
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - should not happen.