com.jrefinery.chart
Class VerticalBarRenderer

java.lang.Object
  |
  +--com.jrefinery.chart.AbstractRenderer
        |
        +--com.jrefinery.chart.AbstractCategoryItemRenderer
              |
              +--com.jrefinery.chart.BarRenderer
                    |
                    +--com.jrefinery.chart.VerticalBarRenderer
All Implemented Interfaces:
CategoryItemRenderer
Direct Known Subclasses:
StackedVerticalBarRenderer, VerticalBarRenderer3D

public class VerticalBarRenderer
extends BarRenderer
implements CategoryItemRenderer

A renderer that handles the drawing of bars for a vertical bar plot.

Author:
DG

Fields inherited from class com.jrefinery.chart.BarRenderer
BAR_OUTLINE_WIDTH_THRESHOLD, categoryGapSpan, categorySpan, itemGapSpan, itemSpan, itemWidth, lowerClip, upperClip, zeroInJava2D
 
Constructor Summary
VerticalBarRenderer()
          Creates a vertical bar renderer with no tool tip generator and no URL generator.
VerticalBarRenderer(CategoryToolTipGenerator toolTipGenerator)
          Constructs a renderer with a specific tool tip generator.
VerticalBarRenderer(CategoryToolTipGenerator toolTipGenerator, CategoryURLGenerator urlGenerator)
          Constructs a renderer with specific tool tip and URL generators.
VerticalBarRenderer(CategoryURLGenerator urlGenerator)
          Constructs a renderer with a specific URL generator.
 
Method Summary
 int barWidthsPerCategory(CategoryDataset data)
          Returns the number of bar-widths displayed in each category.
 void drawCategoryItem(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, ValueAxis axis, CategoryDataset data, int series, java.lang.Object category, int categoryIndex, java.lang.Object previousCategory)
          Draws the bar for a single (series, category) data item.
 void drawRangeMarker(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D axisDataArea, java.awt.Shape dataClipRegion)
          Draws a marker for the range axis.
 boolean hasItemGaps()
          Returns true, since for this renderer there are gaps between the items in one category.
 void initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, ValueAxis axis, CategoryDataset data, ChartRenderingInfo info)
          Initialises the renderer.
 
Methods inherited from class com.jrefinery.chart.BarRenderer
calculateCategoryAndItemSpans, isStacked
 
Methods inherited from class com.jrefinery.chart.AbstractCategoryItemRenderer
drawPlotBackground, getAxisArea, getCategoriesPaint, getCategoryPaint, getDataClipRegion, getLegendItem, getPlot, getToolTipGenerator, getURLGenerator, getUseCategoriesPaint, setCategoriesPaint, setPlot, setToolTipGenerator, setURLGenerator
 
Methods inherited from class com.jrefinery.chart.AbstractRenderer
addPropertyChangeListener, firePropertyChanged, getInfo, removePropertyChangeListener, setInfo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.jrefinery.chart.CategoryItemRenderer
drawPlotBackground, getAxisArea, getDataClipRegion, getLegendItem, getPlot, isStacked, setPlot
 

Constructor Detail

VerticalBarRenderer

public VerticalBarRenderer()
Creates a vertical bar renderer with no tool tip generator and no URL generator.

VerticalBarRenderer

public VerticalBarRenderer(CategoryToolTipGenerator toolTipGenerator)
Constructs a renderer with a specific tool tip generator.
Parameters:
toolTipGenerator - the tool tip generator (null permitted).

VerticalBarRenderer

public VerticalBarRenderer(CategoryURLGenerator urlGenerator)
Constructs a renderer with a specific URL generator.
Parameters:
urlGenerator - the URL generator (null permitted).

VerticalBarRenderer

public VerticalBarRenderer(CategoryToolTipGenerator toolTipGenerator,
                           CategoryURLGenerator urlGenerator)
Constructs a renderer with specific tool tip and URL generators.
Parameters:
toolTipGenerator - the tool tip generator (null permitted).
urlGenerator - the URL generator (null permitted).
Method Detail

initialise

public void initialise(java.awt.Graphics2D g2,
                       java.awt.geom.Rectangle2D dataArea,
                       CategoryPlot plot,
                       ValueAxis axis,
                       CategoryDataset data,
                       ChartRenderingInfo info)
Initialises the renderer.

This method gets called once at the start of the process of drawing a chart.

Specified by:
initialise in interface CategoryItemRenderer
Overrides:
initialise in class BarRenderer
Parameters:
g2 - the graphics device.
dataArea - the data area.
plot - the plot.
axis - the range axis.
data - the data.
info - optional information collection.

drawRangeMarker

public void drawRangeMarker(java.awt.Graphics2D g2,
                            CategoryPlot plot,
                            ValueAxis axis,
                            Marker marker,
                            java.awt.geom.Rectangle2D axisDataArea,
                            java.awt.Shape dataClipRegion)
Draws a marker for the range axis.

A marker is a constant value, usually represented by a line.

Specified by:
drawRangeMarker in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
plot - the plot.
axis - the range axis.
marker - the marker to be drawn.
axisDataArea - the area inside the axes.
dataClipRegion - the data clip area.

drawCategoryItem

public void drawCategoryItem(java.awt.Graphics2D g2,
                             java.awt.geom.Rectangle2D dataArea,
                             CategoryPlot plot,
                             ValueAxis axis,
                             CategoryDataset data,
                             int series,
                             java.lang.Object category,
                             int categoryIndex,
                             java.lang.Object previousCategory)
Draws the bar for a single (series, category) data item.
Specified by:
drawCategoryItem in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
dataArea - the data area.
plot - the plot.
axis - the range axis.
data - the data.
series - the series number (zero-based index).
category - the category.
categoryIndex - the category number (zero-based index).
previousCategory - the previous category.

hasItemGaps

public boolean hasItemGaps()
Returns true, since for this renderer there are gaps between the items in one category.
Overrides:
hasItemGaps in class BarRenderer
Returns:
true.

barWidthsPerCategory

public int barWidthsPerCategory(CategoryDataset data)
Returns the number of bar-widths displayed in each category. For this renderer, there is one bar per series, so we return the number of series.

This number is used to calculate the width of a single bar.

Overrides:
barWidthsPerCategory in class BarRenderer
Parameters:
data - The dataset.
Returns:
The number of bar widths across each category.