public class

StackedBarRenderer

extends BarRenderer
implements Serializable Cloneable
java.lang.Object
   ↳ org.jfree.chart.renderer.AbstractRenderer
     ↳ org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
       ↳ org.jfree.chart.renderer.category.BarRenderer
         ↳ org.jfree.chart.renderer.category.StackedBarRenderer
Known Direct Subclasses

Class Overview

A stacked bar renderer for use with the CategoryPlot class. The example shown here is generated by the StackedBarChartDemo1.java program included in the JFreeChart Demo Collection:

StackedBarRendererSample.png

Summary

[Expand]
Inherited Constants
From class org.jfree.chart.renderer.category.BarRenderer
[Expand]
Inherited Fields
From class org.jfree.chart.renderer.AbstractRenderer
Public Constructors
StackedBarRenderer()
Creates a new renderer.
StackedBarRenderer(boolean renderAsPercentages)
Creates a new renderer.
Public Methods
void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
Draws a stacked bar for a specific item.
boolean equals(Object obj)
Tests this renderer for equality with an arbitrary object.
Range findRangeBounds(CategoryDataset dataset)
Returns the range of values the renderer requires to display all the items from the specified dataset.
int getPassCount()
Returns the number of passes (3) required by this renderer.
boolean getRenderAsPercentages()
Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.
void setRenderAsPercentages(boolean asPercentages)
Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and sends a RendererChangeEvent to all registered listeners.
Protected Methods
void calculateBarWidth(CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)
Calculates the bar width and stores it in the renderer state.
[Expand]
Inherited Methods
From class org.jfree.chart.renderer.category.BarRenderer
From class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
From class org.jfree.chart.renderer.AbstractRenderer
From class java.lang.Object
From interface org.jfree.chart.LegendItemSource
From interface org.jfree.chart.renderer.category.CategoryItemRenderer

Public Constructors

public StackedBarRenderer ()

Creates a new renderer. By default, the renderer has no tool tip generator and no URL generator. These defaults have been chosen to minimise the processing required to generate a default chart. If you require tool tips or URLs, then you can easily add the required generators.

public StackedBarRenderer (boolean renderAsPercentages)

Creates a new renderer.

Parameters
renderAsPercentages a flag that controls whether the data values are rendered as percentages.

Public Methods

public void drawItem (Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)

Draws a stacked bar for a specific item.

Parameters
g2 the graphics device.
state the renderer state.
dataArea the plot area.
plot the plot.
domainAxis the domain (category) axis.
rangeAxis the range (value) axis.
dataset the data.
row the row index (zero-based).
column the column index (zero-based).
pass the pass index.

public boolean equals (Object obj)

Tests this renderer for equality with an arbitrary object.

Parameters
obj the object (null permitted).
Returns
  • A boolean.

public Range findRangeBounds (CategoryDataset 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 (or null if the dataset is empty).

public int getPassCount ()

Returns the number of passes (3) required by this renderer. The first pass is used to draw the bar shadows, the second pass is used to draw the bars, and the third pass is used to draw the item labels (if visible).

Returns
  • The number of passes required by the renderer.

public boolean getRenderAsPercentages ()

Returns true if the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and false otherwise.

Returns
  • A boolean.

public void setRenderAsPercentages (boolean asPercentages)

Sets the flag that controls whether the renderer displays each item value as a percentage (so that the stacked bars add to 100%), and sends a RendererChangeEvent to all registered listeners.

Parameters
asPercentages the flag.

Protected Methods

protected void calculateBarWidth (CategoryPlot plot, Rectangle2D dataArea, int rendererIndex, CategoryItemRendererState state)

Calculates the bar width and stores it in the renderer state.

Parameters
plot the plot.
dataArea the data area.
rendererIndex the renderer index.
state the renderer state.