Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.jfree.chart.renderer.AbstractRenderer
org.jfree.chart.renderer.xy.AbstractXYItemRenderer
public abstract class AbstractXYItemRenderer
extends AbstractRenderer
implements XYItemRenderer, Cloneable, Serializable
XYItemRenderer
implementations.
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 | |
|
Method Summary | |
void |
|
void |
|
protected void |
|
protected Point2D |
|
protected Object |
|
void |
|
void |
|
void |
|
void |
|
protected void |
|
void |
|
void |
|
boolean |
|
void |
|
void |
|
Range |
|
Range |
|
XYItemLabelGenerator |
|
XYToolTipGenerator |
|
int |
|
DrawingSupplier |
|
XYItemLabelGenerator |
|
XYItemLabelGenerator |
|
LegendItem |
|
XYSeriesLabelGenerator |
|
XYSeriesLabelGenerator |
|
XYSeriesLabelGenerator |
|
LegendItemCollection |
|
int |
|
XYPlot |
|
XYItemLabelGenerator |
|
XYToolTipGenerator |
|
XYToolTipGenerator |
|
XYToolTipGenerator |
|
XYURLGenerator |
|
XYItemRendererState |
|
boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void | |
void |
|
void |
|
void |
|
void |
|
protected void |
|
protected void |
|
protected AbstractXYItemRenderer()
Creates a renderer where the tooltip generator and the URL generator are bothnull
.
public void addAnnotation(XYAnnotation annotation)
Adds an annotation and sends aRendererChangeEvent
to all registered listeners. The annotation is added to the foreground layer.
- Specified by:
- addAnnotation in interface XYItemRenderer
- Parameters:
annotation
- the annotation (null
not permitted).
public void addAnnotation(XYAnnotation annotation, Layer layer)
Adds an annotation to the specified layer.
- Specified by:
- addAnnotation in interface XYItemRenderer
- Parameters:
annotation
- the annotation (null
not permitted).layer
- the layer (null
not permitted).
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 (ifnull
a default will be used).dataset
- the dataset.series
- the series.item
- the item.entityX
- the entity's center x-coordinate in user space.entityY
- the entity's center y-coordinate in user space.
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.
protected Object clone() throws CloneNotSupportedException
Returns a clone of the renderer.
- Overrides:
- clone in interface AbstractRenderer
- Returns:
- A clone.
public void drawAnnotations(Graphics2D g2, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, Layer layer, PlotRenderingInfo info)
Draws all the annotations for the specified layer.
- Specified by:
- drawAnnotations in interface XYItemRenderer
- 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.
public void drawDomainGridLine(Graphics2D g2, XYPlot plot, ValueAxis axis, Rectangle2D dataArea, double value)
Draws a grid line against the range axis.
- Specified by:
- drawDomainGridLine in interface XYItemRenderer
- 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.
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.stroke
- the stroke.
- Since:
- 1.0.5
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'.
- Specified by:
- drawDomainMarker in interface XYItemRenderer
- Parameters:
g2
- the graphics device.plot
- the plot.domainAxis
- the domain axis.marker
- the marker line.dataArea
- the axis data area.
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).
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.
- Specified by:
- drawRangeLine in interface XYItemRenderer
- 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.
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'.
- Specified by:
- drawRangeMarker in interface XYItemRenderer
- Parameters:
g2
- the graphics device.plot
- the plot.rangeAxis
- the range axis.marker
- the marker line.dataArea
- the axis data area.
public boolean equals(Object obj)
Tests this renderer for equality with another object.
- Overrides:
- equals in interface AbstractRenderer
- Parameters:
obj
- the object (null
permitted).
- Returns:
true
orfalse
.
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.
- Specified by:
- fillDomainGridBand in interface XYItemRenderer
- Parameters:
g2
- the graphics device.plot
- the plot.axis
- the domain axis.dataArea
- the data area.start
- the start value.end
- the end value.
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.
- Specified by:
- fillRangeGridBand in interface XYItemRenderer
- Parameters:
g2
- the graphics device.plot
- the plot.axis
- the range axis.dataArea
- the data area.start
- the start value.end
- the end value.
public Range findDomainBounds(XYDataset dataset)
Returns the lower and upper bounds (range) of the x-values in the specified dataset.
- Specified by:
- findDomainBounds in interface XYItemRenderer
- Parameters:
dataset
- the dataset (null
permitted).
- Returns:
- The range (
null
if the dataset isnull
or empty).
public Range findRangeBounds(XYDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
- Specified by:
- findRangeBounds in interface XYItemRenderer
- Parameters:
dataset
- the dataset (null
permitted).
- Returns:
- The range (
null
if the dataset isnull
or empty).
public XYItemLabelGenerator getBaseItemLabelGenerator()
Returns the base item label generator.
- Specified by:
- getBaseItemLabelGenerator in interface XYItemRenderer
- Returns:
- The generator (possibly
null
).
public XYToolTipGenerator getBaseToolTipGenerator()
Returns the base tool tip generator.
- Specified by:
- getBaseToolTipGenerator in interface XYItemRenderer
- Returns:
- The generator (possibly
null
).
public int getDefaultEntityRadius()
Returns the radius of the circle used for the default entity area when no area is specified.
- Returns:
- A radius.
public DrawingSupplier getDrawingSupplier()
Returns the drawing supplier from the plot.
- Overrides:
- getDrawingSupplier in interface AbstractRenderer
- Returns:
- The drawing supplier (possibly
null
).
public XYItemLabelGenerator getItemLabelGenerator()
Returns the item label generator override.
- Returns:
- The generator (possibly
null
).
- Since:
- 1.0.5
public XYItemLabelGenerator getItemLabelGenerator(int series, int item)
Returns the label generator for a data item. This implementation simply passes control to thegetSeriesItemLabelGenerator(int)
method. If, for some reason, you want a different generator for individual items, you can override this method.
- Specified by:
- getItemLabelGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).item
- the item index (zero based).
- Returns:
- The generator (possibly
null
).
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.
- Specified by:
- getLegendItem in interface XYItemRenderer
- Parameters:
datasetIndex
- the dataset index (zero-based).series
- the series index (zero-based).
- Returns:
- A legend item for the series.
public XYSeriesLabelGenerator getLegendItemLabelGenerator()
Returns the legend item label generator.
- Specified by:
- getLegendItemLabelGenerator in interface XYItemRenderer
- Returns:
- The label generator (never
null
).
public XYSeriesLabelGenerator getLegendItemToolTipGenerator()
Returns the legend item tool tip generator.
- Returns:
- The tool tip generator (possibly
null
).
public XYSeriesLabelGenerator getLegendItemURLGenerator()
Returns the legend item URL generator.
- Returns:
- The URL generator (possibly
null
).
public LegendItemCollection getLegendItems()
Returns a (possibly empty) collection of legend items for the series that this renderer is responsible for drawing.
- Specified by:
- getLegendItems in interface LegendItemSource
- Returns:
- The legend item collection (never
null
).
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
- Returns:
- The pass count.
public XYPlot getPlot()
Returns the plot that the renderer is assigned to.
- Specified by:
- getPlot in interface XYItemRenderer
- Returns:
- The plot (possibly
null
).
public XYItemLabelGenerator getSeriesItemLabelGenerator(int series)
Returns the item label generator for a series.
- Specified by:
- getSeriesItemLabelGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).
- Returns:
- The generator (possibly
null
).
public XYToolTipGenerator getSeriesToolTipGenerator(int series)
Returns the tool tip generator for a series.
- Specified by:
- getSeriesToolTipGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).
- Returns:
- The generator (possibly
null
).
public XYToolTipGenerator getToolTipGenerator()
Returns the override tool tip generator.
- Returns:
- The tool tip generator (possible
null
).
- Since:
- 1.0.5
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.
- Specified by:
- getToolTipGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).item
- the item index (zero based).
- Returns:
- The generator (possibly
null
).
public XYURLGenerator getURLGenerator()
Returns the URL generator for HTML image maps.
- Specified by:
- getURLGenerator in interface XYItemRenderer
- Returns:
- The URL generator (possibly
null
).
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.
- Specified by:
- initialise in interface XYItemRenderer
- 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
).
public boolean removeAnnotation(XYAnnotation annotation)
Removes the specified annotation and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- removeAnnotation in interface XYItemRenderer
- Parameters:
annotation
- the annotation to remove (null
not permitted).
- Returns:
- A boolean to indicate whether or not the annotation was successfully removed.
public void removeAnnotations()
Removes all annotations and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- removeAnnotations in interface XYItemRenderer
public void setBaseItemLabelGenerator(XYItemLabelGenerator generator)
Sets the base item label generator and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setBaseItemLabelGenerator in interface XYItemRenderer
- Parameters:
generator
- the generator (null
permitted).
public void setBaseToolTipGenerator(XYToolTipGenerator generator)
Sets the base tool tip generator and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setBaseToolTipGenerator in interface XYItemRenderer
- Parameters:
generator
- the generator (null
permitted).
- See Also:
getBaseToolTipGenerator()
public void setDefaultEntityRadius(int radius)
Sets the radius of the circle used for the default entity area when no area is specified.
- Parameters:
radius
- the radius.
public void setItemLabelGenerator(XYItemLabelGenerator generator)
Sets the item label generator for ALL series and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setItemLabelGenerator in interface XYItemRenderer
- Parameters:
generator
- the generator (null
permitted).
- See Also:
getItemLabelGenerator()
public void setLegendItemLabelGenerator(XYSeriesLabelGenerator generator)
Sets the legend item label generator and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setLegendItemLabelGenerator in interface XYItemRenderer
- Parameters:
generator
- the generator (null
not permitted).
- See Also:
getLegendItemLabelGenerator()
public void setLegendItemToolTipGenerator(XYSeriesLabelGenerator generator)
Sets the legend item tool tip generator and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
generator
- the generator (null
permitted).
- See Also:
getLegendItemToolTipGenerator()
public void setLegendItemURLGenerator(XYSeriesLabelGenerator generator)
Sets the legend item URL generator and sends aRendererChangeEvent
to all registered listeners.
- Parameters:
generator
- the generator (null
permitted).
- See Also:
getLegendItemURLGenerator()
public void setPlot(XYPlot plot)
Sets the plot that the renderer is assigned to.
- Specified by:
- setPlot in interface XYItemRenderer
- Parameters:
plot
- the plot (null
permitted).
public void setSeriesItemLabelGenerator(int series, XYItemLabelGenerator generator)
Sets the item label generator for a series and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setSeriesItemLabelGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).generator
- the generator (null
permitted).
public void setSeriesToolTipGenerator(int series, XYToolTipGenerator generator)
Sets the tool tip generator for a series and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setSeriesToolTipGenerator in interface XYItemRenderer
- Parameters:
series
- the series index (zero based).generator
- the generator (null
permitted).
public void setToolTipGenerator(XYToolTipGenerator generator)
Sets the tool tip generator for ALL series and sends aRendererChangeEvent
to all registered listeners.
- Specified by:
- setToolTipGenerator in interface XYItemRenderer
- Parameters:
generator
- the generator (null
permitted).
- See Also:
getToolTipGenerator()
public void setURLGenerator(XYURLGenerator urlGenerator)
Sets the URL generator for HTML image maps.
- Specified by:
- setURLGenerator in interface XYItemRenderer
- Parameters:
urlGenerator
- the URL generator (null
permitted).
protected void updateCrosshairValues(CrosshairState crosshairState, double x, double y, double transX, double transY, PlotOrientation orientation)
Deprecated. Use
updateCrosshairValues(CrosshairState,double,double,int,int,double,double,PlotOrientation)
-- 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).
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