org.jfree.chart.renderer.xy

Class AbstractXYItemRenderer

public abstract class AbstractXYItemRenderer extends AbstractRenderer implements XYItemRenderer, Cloneable, Serializable

A base class that can be used to create new XYItemRenderer implementations.
Constructor Summary
protected AbstractXYItemRenderer()
Creates a renderer where the tooltip generator and the URL generator are both null.
Method Summary
voidaddAnnotation(XYAnnotation annotation)
Adds an annotation and sends a RendererChangeEvent to all registered listeners.
voidaddAnnotation(XYAnnotation annotation, Layer layer)
Adds an annotation to the specified layer and sends a RendererChangeEvent to all registered listeners.
protected voidaddEntity(EntityCollection entities, Shape area, XYDataset dataset, int series, int item, double entityX, double entityY)
Adds an entity to the collection.
protected Point2DcalculateDomainMarkerTextAnchorPoint(Graphics2D g2, PlotOrientation orientation, Rectangle2D dataArea, Rectangle2D markerArea, RectangleInsets markerOffset, LengthAdjustmentType labelOffsetType, RectangleAnchor anchor)
Calculates the (x, y) coordinates for drawing a marker label.
protected Objectclone()
Returns a clone of the renderer.
voiddrawAnnotations(Graphics2D g2, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, Layer layer, PlotRenderingInfo info)
Draws all the annotations for the specified layer.
voiddrawDomainGridLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value)
Draws a grid line against the range axis.
voiddrawDomainLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value, Paint paint, Stroke stroke)
Draws a line perpendicular to the domain axis.
voiddrawDomainMarker(Graphics2D g2, XYPlot plot, ValueAxis domainAxis, Marker marker, Rectangle2D dataArea)
Draws a vertical line on the chart to represent a 'range marker'.
protected voiddrawItemLabel(Graphics2D g2, PlotOrientation orientation, XYDataset dataset, int series, int item, double x, double y, boolean negative)
Draws an item label.
voiddrawRangeLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value, Paint paint, Stroke stroke)
Draws a line perpendicular to the range axis.
voiddrawRangeMarker(Graphics2D g2, XYPlot plot, ValueAxis rangeAxis, Marker marker, Rectangle2D dataArea)
Draws a horizontal line across the chart to represent a 'range marker'.
booleanequals(Object obj)
Tests this renderer for equality with another object.
voidfillDomainGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double start, double end)
Fills a band between two values on the axis.
voidfillRangeGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double start, double end)
Fills a band between two values on the range axis.
RangefindDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.
protected RangefindDomainBounds(XYDataset dataset, boolean includeInterval)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.
RangefindRangeBounds(XYDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
protected RangefindRangeBounds(XYDataset dataset, boolean includeInterval)
Returns the range of values the renderer requires to display all the items from the specified dataset.
CollectiongetAnnotations()
Returns a collection of the annotations that are assigned to the renderer.
XYItemLabelGeneratorgetBaseItemLabelGenerator()
Returns the base item label generator.
XYToolTipGeneratorgetBaseToolTipGenerator()
Returns the base tool tip generator.
DrawingSuppliergetDrawingSupplier()
Returns the drawing supplier from the plot.
XYItemLabelGeneratorgetItemLabelGenerator(int series, int item)
Returns the label generator for a data item.
XYItemLabelGeneratorgetItemLabelGenerator()
Returns the item label generator override.
LegendItemgetLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series.
XYSeriesLabelGeneratorgetLegendItemLabelGenerator()
Returns the legend item label generator.
LegendItemCollectiongetLegendItems()
Returns a (possibly empty) collection of legend items for the series that this renderer is responsible for drawing.
XYSeriesLabelGeneratorgetLegendItemToolTipGenerator()
Returns the legend item tool tip generator.
XYSeriesLabelGeneratorgetLegendItemURLGenerator()
Returns the legend item URL generator.
intgetPassCount()
Returns the number of passes through the data that the renderer requires in order to draw the chart.
XYPlotgetPlot()
Returns the plot that the renderer is assigned to.
XYItemLabelGeneratorgetSeriesItemLabelGenerator(int series)
Returns the item label generator for a series.
XYToolTipGeneratorgetSeriesToolTipGenerator(int series)
Returns the tool tip generator for a series.
XYToolTipGeneratorgetToolTipGenerator(int series, int item)
Returns the tool tip generator for a data item.
XYToolTipGeneratorgetToolTipGenerator()
Returns the override tool tip generator.
XYURLGeneratorgetURLGenerator()
Returns the URL generator for HTML image maps.
XYItemRendererStateinitialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.
static booleanisPointInRect(Rectangle2D rect, double x, double y)
Returns true if the specified point (x, y) falls within or on the boundary of the specified rectangle.
booleanremoveAnnotation(XYAnnotation annotation)
Removes the specified annotation and sends a RendererChangeEvent to all registered listeners.
voidremoveAnnotations()
Removes all annotations and sends a RendererChangeEvent to all registered listeners.
voidsetBaseItemLabelGenerator(XYItemLabelGenerator generator)
Sets the base item label generator and sends a RendererChangeEvent to all registered listeners.
voidsetBaseToolTipGenerator(XYToolTipGenerator generator)
Sets the base tool tip generator and sends a RendererChangeEvent to all registered listeners.
voidsetItemLabelGenerator(XYItemLabelGenerator generator)
Sets the item label generator for ALL series and sends a RendererChangeEvent to all registered listeners.
voidsetLegendItemLabelGenerator(XYSeriesLabelGenerator generator)
Sets the legend item label generator and sends a RendererChangeEvent to all registered listeners.
voidsetLegendItemToolTipGenerator(XYSeriesLabelGenerator generator)
Sets the legend item tool tip generator and sends a RendererChangeEvent to all registered listeners.
voidsetLegendItemURLGenerator(XYSeriesLabelGenerator generator)
Sets the legend item URL generator and sends a RendererChangeEvent to all registered listeners.
voidsetPlot(XYPlot plot)
Sets the plot that the renderer is assigned to.
voidsetSeriesItemLabelGenerator(int series, XYItemLabelGenerator generator)
Sets the item label generator for a series and sends a RendererChangeEvent to all registered listeners.
voidsetSeriesToolTipGenerator(int series, XYToolTipGenerator generator)
Sets the tool tip generator for a series and sends a RendererChangeEvent to all registered listeners.
voidsetToolTipGenerator(XYToolTipGenerator generator)
Sets the tool tip generator for ALL series and sends a RendererChangeEvent to all registered listeners.
voidsetURLGenerator(XYURLGenerator urlGenerator)
Sets the URL generator for HTML image maps and sends a RendererChangeEvent to all registered listeners.
protected voidupdateCrosshairValues(CrosshairState crosshairState, double x, double y, int domainAxisIndex, int rangeAxisIndex, double transX, double transY, PlotOrientation orientation)
Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).
protected voidupdateCrosshairValues(CrosshairState crosshairState, double x, double y, double transX, double transY, PlotOrientation orientation)
Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).

Constructor Detail

AbstractXYItemRenderer

protected AbstractXYItemRenderer()
Creates a renderer where the tooltip generator and the URL generator are both null.

Method Detail

addAnnotation

public void addAnnotation(XYAnnotation annotation)
Adds an annotation and sends a RendererChangeEvent to all registered listeners. The annotation is added to the foreground layer.

Parameters: annotation the annotation (null not permitted).

addAnnotation

public void addAnnotation(XYAnnotation annotation, Layer layer)
Adds an annotation to the specified layer and sends a RendererChangeEvent to all registered listeners.

Parameters: annotation the annotation (null not permitted). layer the layer (null not permitted).

addEntity

protected void addEntity(EntityCollection entities, Shape area, XYDataset dataset, int series, int item, double entityX, double entityY)
Adds an entity to the collection.

Parameters: entities the entity collection being populated. area the entity area (if null a default will be used). dataset the dataset. series the series. item the item. entityX the entity's center x-coordinate in user space (only used if area is null). entityY the entity's center y-coordinate in user space (only used if area is null).

calculateDomainMarkerTextAnchorPoint

protected Point2D calculateDomainMarkerTextAnchorPoint(Graphics2D g2, PlotOrientation orientation, Rectangle2D dataArea, Rectangle2D markerArea, RectangleInsets markerOffset, LengthAdjustmentType labelOffsetType, RectangleAnchor anchor)
Calculates the (x, y) coordinates for drawing a marker label.

Parameters: g2 the graphics device. orientation the plot orientation. dataArea the data area. markerArea the rectangle surrounding the marker area. markerOffset the marker label offset. labelOffsetType the label offset type. anchor the label anchor.

Returns: The coordinates for drawing the marker label.

clone

protected Object clone()
Returns a clone of the renderer.

Returns: A clone.

Throws: CloneNotSupportedException if the renderer does not support cloning.

drawAnnotations

public void drawAnnotations(Graphics2D g2, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, Layer layer, PlotRenderingInfo info)
Draws all the annotations for the specified layer.

Parameters: g2 the graphics device. dataArea the data area. domainAxis the domain axis. rangeAxis the range axis. layer the layer. info the plot rendering info.

drawDomainGridLine

public void drawDomainGridLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value)
Draws a grid line against the range axis.

Parameters: g2 the graphics device. plot the plot. axis the value axis. dataArea the area for plotting data (not yet adjusted for any 3D effect). value the value at which the grid line should be drawn.

drawDomainLine

public void drawDomainLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value, Paint paint, Stroke stroke)
Draws a line perpendicular to the domain axis.

Parameters: g2 the graphics device. plot the plot. axis the value axis. dataArea the area for plotting data (not yet adjusted for any 3D effect). value the value at which the grid line should be drawn. paint the paint (null not permitted). stroke the stroke (null not permitted).

Since: 1.0.5

drawDomainMarker

public void drawDomainMarker(Graphics2D g2, XYPlot plot, ValueAxis domainAxis, Marker marker, Rectangle2D dataArea)
Draws a vertical line on the chart to represent a 'range marker'.

Parameters: g2 the graphics device. plot the plot. domainAxis the domain axis. marker the marker line. dataArea the axis data area.

drawItemLabel

protected void drawItemLabel(Graphics2D g2, PlotOrientation orientation, XYDataset dataset, int series, int item, double x, double y, boolean negative)
Draws an item label.

Parameters: g2 the graphics device. orientation the orientation. dataset the dataset. series the series index (zero-based). item the item index (zero-based). x the x coordinate (in Java2D space). y the y coordinate (in Java2D space). negative indicates a negative value (which affects the item label position).

drawRangeLine

public void drawRangeLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value, Paint paint, Stroke stroke)
Draws a line perpendicular to the range axis.

Parameters: g2 the graphics device. plot the plot. axis the value axis. dataArea the area for plotting data (not yet adjusted for any 3D effect). value the value at which the grid line should be drawn. paint the paint. stroke the stroke.

drawRangeMarker

public void drawRangeMarker(Graphics2D g2, XYPlot plot, ValueAxis rangeAxis, Marker marker, Rectangle2D dataArea)
Draws a horizontal line across the chart to represent a 'range marker'.

Parameters: g2 the graphics device. plot the plot. rangeAxis the range axis. marker the marker line. dataArea the axis data area.

equals

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

Parameters: obj the object (null permitted).

Returns: true or false.

fillDomainGridBand

public void fillDomainGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double start, double end)
Fills a band between two values on the axis. This can be used to color bands between the grid lines.

Parameters: g2 the graphics device. plot the plot. axis the domain axis. dataArea the data area. start the start value. end the end value.

fillRangeGridBand

public void fillRangeGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double start, double end)
Fills a band between two values on the range axis. This can be used to color bands between the grid lines.

Parameters: g2 the graphics device. plot the plot. axis the range axis. dataArea the data area. start the start value. end the end value.

findDomainBounds

public Range findDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.

Parameters: dataset the dataset (null permitted).

Returns: The range (null if the dataset is null or empty).

See Also: findRangeBounds

findDomainBounds

protected Range findDomainBounds(XYDataset dataset, boolean includeInterval)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.

Parameters: dataset the dataset (null permitted).

Returns: The range (null if the dataset is null or empty).

Since: 1.0.13

findRangeBounds

public Range findRangeBounds(XYDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.

Parameters: dataset the dataset (null permitted).

Returns: The range (null if the dataset is null or empty).

See Also: findDomainBounds

findRangeBounds

protected Range findRangeBounds(XYDataset dataset, boolean includeInterval)
Returns the range of values the renderer requires to display all the items from the specified dataset.

Parameters: dataset the dataset (null permitted).

Returns: The range (null if the dataset is null or empty).

Since: 1.0.13

getAnnotations

public Collection getAnnotations()
Returns a collection of the annotations that are assigned to the renderer.

Returns: A collection of annotations (possibly empty but never null).

Since: 1.0.13

getBaseItemLabelGenerator

public XYItemLabelGenerator getBaseItemLabelGenerator()
Returns the base item label generator.

Returns: The generator (possibly null).

getBaseToolTipGenerator

public XYToolTipGenerator getBaseToolTipGenerator()
Returns the base tool tip generator.

Returns: The generator (possibly null).

See Also: setBaseToolTipGenerator

getDrawingSupplier

public DrawingSupplier getDrawingSupplier()
Returns the drawing supplier from the plot.

Returns: The drawing supplier (possibly null).

getItemLabelGenerator

public XYItemLabelGenerator getItemLabelGenerator(int series, int item)
Returns the label generator for a data item. This implementation simply passes control to the AbstractXYItemRenderer method. If, for some reason, you want a different generator for individual items, you can override this method.

Parameters: series the series index (zero based). item the item index (zero based).

Returns: The generator (possibly null).

getItemLabelGenerator

public XYItemLabelGenerator getItemLabelGenerator()

Deprecated: As of version 1.0.6, this override setting should not be used. You can use the base setting instead (getBaseItemLabelGenerator).

Returns the item label generator override.

Returns: The generator (possibly null).

Since: 1.0.5

See Also:

getLegendItem

public LegendItem getLegendItem(int datasetIndex, int series)
Returns a default legend item for the specified series. Subclasses should override this method to generate customised items.

Parameters: datasetIndex the dataset index (zero-based). series the series index (zero-based).

Returns: A legend item for the series.

getLegendItemLabelGenerator

public XYSeriesLabelGenerator getLegendItemLabelGenerator()
Returns the legend item label generator.

Returns: The label generator (never null).

See Also: setLegendItemLabelGenerator

getLegendItems

public LegendItemCollection getLegendItems()
Returns a (possibly empty) collection of legend items for the series that this renderer is responsible for drawing.

Returns: The legend item collection (never null).

getLegendItemToolTipGenerator

public XYSeriesLabelGenerator getLegendItemToolTipGenerator()
Returns the legend item tool tip generator.

Returns: The tool tip generator (possibly null).

See Also: setLegendItemToolTipGenerator

getLegendItemURLGenerator

public XYSeriesLabelGenerator getLegendItemURLGenerator()
Returns the legend item URL generator.

Returns: The URL generator (possibly null).

See Also: setLegendItemURLGenerator

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.

Returns: The pass count.

getPlot

public XYPlot getPlot()
Returns the plot that the renderer is assigned to.

Returns: The plot (possibly null).

getSeriesItemLabelGenerator

public XYItemLabelGenerator getSeriesItemLabelGenerator(int series)
Returns the item label generator for a series.

Parameters: series the series index (zero based).

Returns: The generator (possibly null).

getSeriesToolTipGenerator

public XYToolTipGenerator getSeriesToolTipGenerator(int series)
Returns the tool tip generator for a series.

Parameters: series the series index (zero based).

Returns: The generator (possibly null).

getToolTipGenerator

public XYToolTipGenerator getToolTipGenerator(int series, int item)
Returns the tool tip generator for a data item. If, for some reason, you want a different generator for individual items, you can override this method.

Parameters: series the series index (zero based). item the item index (zero based).

Returns: The generator (possibly null).

getToolTipGenerator

public XYToolTipGenerator getToolTipGenerator()

Deprecated: As of version 1.0.6, this override setting should not be used. You can use the base setting instead (getBaseToolTipGenerator).

Returns the override tool tip generator.

Returns: The tool tip generator (possible null).

Since: 1.0.5

See Also:

getURLGenerator

public XYURLGenerator getURLGenerator()
Returns the URL generator for HTML image maps.

Returns: The URL generator (possibly null).

initialise

public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)
Initialises the renderer and returns a state object that should be passed to all subsequent calls to the drawItem() method.

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.

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 (never null).

isPointInRect

public static boolean isPointInRect(Rectangle2D rect, double x, double y)
Returns true if the specified point (x, y) falls within or on the boundary of the specified rectangle.

Parameters: rect the rectangle (null not permitted). x the x-coordinate. y the y-coordinate.

Returns: A boolean.

Since: 1.0.10

removeAnnotation

public boolean removeAnnotation(XYAnnotation annotation)
Removes the specified annotation and sends a RendererChangeEvent to all registered listeners.

Parameters: annotation the annotation to remove (null not permitted).

Returns: A boolean to indicate whether or not the annotation was successfully removed.

removeAnnotations

public void removeAnnotations()
Removes all annotations and sends a RendererChangeEvent to all registered listeners.

setBaseItemLabelGenerator

public void setBaseItemLabelGenerator(XYItemLabelGenerator generator)
Sets the base item label generator and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

setBaseToolTipGenerator

public void setBaseToolTipGenerator(XYToolTipGenerator generator)
Sets the base tool tip generator and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

See Also: getBaseToolTipGenerator

setItemLabelGenerator

public void setItemLabelGenerator(XYItemLabelGenerator generator)

Deprecated: As of version 1.0.6, this override setting should not be used. You can use the base setting instead (setBaseItemLabelGenerator).

Sets the item label generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

See Also:

setLegendItemLabelGenerator

public void setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)
Sets the legend item label generator and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null not permitted).

See Also: getLegendItemLabelGenerator

setLegendItemToolTipGenerator

public void setLegendItemToolTipGenerator(XYSeriesLabelGenerator generator)
Sets the legend item tool tip generator and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

See Also: getLegendItemToolTipGenerator

setLegendItemURLGenerator

public void setLegendItemURLGenerator(XYSeriesLabelGenerator generator)
Sets the legend item URL generator and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

See Also: getLegendItemURLGenerator

setPlot

public void setPlot(XYPlot plot)
Sets the plot that the renderer is assigned to.

Parameters: plot the plot (null permitted).

setSeriesItemLabelGenerator

public void setSeriesItemLabelGenerator(int series, XYItemLabelGenerator generator)
Sets the item label generator for a series and sends a RendererChangeEvent to all registered listeners.

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

setSeriesToolTipGenerator

public void setSeriesToolTipGenerator(int series, XYToolTipGenerator generator)
Sets the tool tip generator for a series and sends a RendererChangeEvent to all registered listeners.

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

setToolTipGenerator

public void setToolTipGenerator(XYToolTipGenerator generator)

Deprecated: As of version 1.0.6, this override setting should not be used. You can use the base setting instead (setBaseToolTipGenerator).

Sets the tool tip generator for ALL series and sends a RendererChangeEvent to all registered listeners.

Parameters: generator the generator (null permitted).

See Also:

setURLGenerator

public void setURLGenerator(XYURLGenerator urlGenerator)
Sets the URL generator for HTML image maps and sends a RendererChangeEvent to all registered listeners.

Parameters: urlGenerator the URL generator (null permitted).

updateCrosshairValues

protected void updateCrosshairValues(CrosshairState crosshairState, double x, double y, int domainAxisIndex, int rangeAxisIndex, double transX, double transY, PlotOrientation orientation)
Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).

Parameters: crosshairState the crosshair state (null permitted, but the method does nothing in that case). x the x-value (in data space). y the y-value (in data space). domainAxisIndex the index of the domain axis for the point. rangeAxisIndex the index of the range axis for the point. transX the x-value translated to Java2D space. transY the y-value translated to Java2D space. orientation the plot orientation (null not permitted).

Since: 1.0.4

updateCrosshairValues

protected void updateCrosshairValues(CrosshairState crosshairState, double x, double y, double transX, double transY, PlotOrientation orientation)

Deprecated: Use AbstractXYItemRenderer -- see bug report 1086307.

Considers the current (x, y) coordinate and updates the crosshair point if it meets the criteria (usually means the (x, y) coordinate is the closest to the anchor point so far).

Parameters: crosshairState the crosshair state (null permitted, but the method does nothing in that case). x the x-value (in data space). y the y-value (in data space). transX the x-value translated to Java2D space. transY the y-value translated to Java2D space. orientation the plot orientation (null not permitted).

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.