com.jrefinery.chart
Class HorizontalIntervalBarRenderer

java.lang.Object
  |
  +--com.jrefinery.chart.AbstractRenderer
        |
        +--com.jrefinery.chart.AbstractCategoryItemRenderer
              |
              +--com.jrefinery.chart.BarRenderer
                    |
                    +--com.jrefinery.chart.HorizontalIntervalBarRenderer
All Implemented Interfaces:
CategoryItemRenderer

public class HorizontalIntervalBarRenderer
extends BarRenderer
implements CategoryItemRenderer

A renderer that draws horizontal bars representing a data range on a category plot.

One application of this renderer is the creation of Gantt charts.

Author:
DG

Fields inherited from class com.jrefinery.chart.BarRenderer
BAR_OUTLINE_WIDTH_THRESHOLD, categoryGapSpan, categorySpan, itemGapSpan, itemSpan, itemWidth, lowerClip, upperClip, zeroInJava2D
 
Constructor Summary
HorizontalIntervalBarRenderer()
          Creates a bar renderer with no tool tip or URL generators.
HorizontalIntervalBarRenderer(CategoryToolTipGenerator toolTipGenerator)
          Constructs a new renderer with the specified tool tip generator.
HorizontalIntervalBarRenderer(CategoryToolTipGenerator toolTipGenerator, CategoryURLGenerator urlGenerator)
          Constructs a new renderer with the specified tool tip generator.
HorizontalIntervalBarRenderer(CategoryURLGenerator urlGenerator)
          Constructs a new renderer with the specified tool tip generator.
 
Method Summary
 int barWidthsPerCategory(CategoryDataset data)
          This renderer shows each series within a category as a separate bar (as opposed to a stacked bar renderer).
 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)
          Draw a single 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 vertical line across the chart to represent the marker.
 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

HorizontalIntervalBarRenderer

public HorizontalIntervalBarRenderer()
Creates a bar renderer with no tool tip or URL generators.

HorizontalIntervalBarRenderer

public HorizontalIntervalBarRenderer(CategoryToolTipGenerator toolTipGenerator)
Constructs a new renderer with the specified tool tip generator.
Parameters:
toolTipGenerator - the tool tip generator.

HorizontalIntervalBarRenderer

public HorizontalIntervalBarRenderer(CategoryURLGenerator urlGenerator)
Constructs a new renderer with the specified tool tip generator.
Parameters:
urlGenerator - the URL generator.

HorizontalIntervalBarRenderer

public HorizontalIntervalBarRenderer(CategoryToolTipGenerator toolTipGenerator,
                                     CategoryURLGenerator urlGenerator)
Constructs a new renderer with the specified tool tip generator.
Parameters:
toolTipGenerator - the tool tip generator.
urlGenerator - the URL generator.
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 area in which the data is to be plotted.
plot - the plot.
axis - the range axis.
data - the data.
info - collects chart rendering information for return to caller.

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:
always false.

barWidthsPerCategory

public int barWidthsPerCategory(CategoryDataset data)
This renderer shows each series within a category as a separate bar (as opposed to a stacked bar renderer).
Overrides:
barWidthsPerCategory in class BarRenderer
Parameters:
data - the data.
Returns:
the number of series in the data.

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 vertical line across the chart to represent the marker.
Specified by:
drawRangeMarker in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
plot - the plot.
axis - the value axis.
marker - the marker line.
axisDataArea - the axis data area.
dataClipRegion - the data clip region.

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)
Draw a single data item.
Specified by:
drawCategoryItem in interface CategoryItemRenderer
Parameters:
g2 - the graphics device.
dataArea - the data plot 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 (will be null when the first category is drawn).