org.jfree.chart.axis

Class SubCategoryAxis

Implemented Interfaces:
Cloneable, Serializable

public class SubCategoryAxis
extends CategoryAxis
implements Cloneable, Serializable

A specialised category axis that can display sub-categories.

Field Summary

Fields inherited from class org.jfree.chart.axis.CategoryAxis

DEFAULT_AXIS_MARGIN, DEFAULT_CATEGORY_MARGIN

Fields inherited from class org.jfree.chart.axis.Axis

DEFAULT_AXIS_LABEL_FONT, DEFAULT_AXIS_LABEL_INSETS, DEFAULT_AXIS_LABEL_PAINT, DEFAULT_AXIS_LINE_PAINT, DEFAULT_AXIS_LINE_STROKE, DEFAULT_AXIS_VISIBLE, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_MARKS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE

Constructor Summary

SubCategoryAxis(String label)
Creates a new axis.

Method Summary

void
addSubCategory(Comparable subCategory)
Adds a sub-category to the axis.
AxisState
draw(Graphics2D g2, double cursor, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer).
protected AxisState
drawSubCategoryLabels(Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, AxisState state, PlotRenderingInfo plotState)
Draws the category labels and returns the updated axis state.
boolean
equals(Object obj)
Tests the axis for equality with an arbitrary object.
Font
getSubLabelFont()
Returns the font used to display the sub-category labels.
Paint
getSubLabelPaint()
Returns the paint used to display the sub-category labels.
AxisSpace
reserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)
Estimates the space required for the axis, given a specific drawing area.
void
setSubLabelFont(Font font)
Sets the font used to display the sub-category labels and sends an AxisChangeEvent to all registered listeners.
void
setSubLabelPaint(Paint paint)
Sets the paint used to display the sub-category labels and sends an AxisChangeEvent to all registered listeners.

Methods inherited from class org.jfree.chart.axis.CategoryAxis

addCategoryLabelToolTip, calculateCategoryGapSize, calculateCategorySize, calculateTextBlockHeight, calculateTextBlockWidth, clearCategoryLabelToolTips, clone, configure, createLabel, draw, drawCategoryLabels, drawCategoryLabels, equals, getCategoryEnd, getCategoryJava2DCoordinate, getCategoryLabelPositionOffset, getCategoryLabelPositions, getCategoryLabelToolTip, getCategoryMargin, getCategoryMiddle, getCategoryStart, getLowerMargin, getMaximumCategoryLabelLines, getMaximumCategoryLabelWidthRatio, getTickLabelFont, getTickLabelPaint, getUpperMargin, hashCode, refreshTicks, removeCategoryLabelToolTip, reserveSpace, setCategoryLabelPositionOffset, setCategoryLabelPositions, setCategoryMargin, setLowerMargin, setMaximumCategoryLabelLines, setMaximumCategoryLabelWidthRatio, setTickLabelFont, setTickLabelPaint, setUpperMargin

Methods inherited from class org.jfree.chart.axis.Axis

addChangeListener, clone, configure, draw, drawAxisLine, drawLabel, equals, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelPaint, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, notifyListeners, refreshTicks, removeChangeListener, reserveSpace, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelPaint, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible

Constructor Details

SubCategoryAxis

public SubCategoryAxis(String label)
Creates a new axis.
Parameters:
label - the axis label.

Method Details

addSubCategory

public void addSubCategory(Comparable subCategory)
Adds a sub-category to the axis.
Parameters:
subCategory - the sub-category.

draw

public AxisState draw(Graphics2D g2,
                      double cursor,
                      Rectangle2D plotArea,
                      Rectangle2D dataArea,
                      RectangleEdge edge,
                      PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer).
Overrides:
draw in interface CategoryAxis
Parameters:
g2 - the graphics device (null not permitted).
cursor - the cursor location.
plotArea - the area within which the axis should be drawn (null not permitted).
dataArea - the area within which the plot is being drawn (null not permitted).
edge - the location of the axis (null not permitted).
plotState - collects information about the plot (null permitted).
Returns:
The axis state (never null).

drawSubCategoryLabels

protected AxisState drawSubCategoryLabels(Graphics2D g2,
                                          Rectangle2D plotArea,
                                          Rectangle2D dataArea,
                                          RectangleEdge edge,
                                          AxisState state,
                                          PlotRenderingInfo plotState)
Draws the category labels and returns the updated axis state.
Parameters:
g2 - the graphics device (null not permitted).
plotArea - the plot area (null not permitted).
dataArea - the area inside the axes (null not permitted).
edge - the axis location (null not permitted).
state - the axis state (null not permitted).
plotState - collects information about the plot (null permitted).
Returns:
The updated axis state (never null).

equals

public boolean equals(Object obj)
Tests the axis for equality with an arbitrary object.
Overrides:
equals in interface CategoryAxis
Parameters:
obj - the object (null permitted).
Returns:
A boolean.

getSubLabelFont

public Font getSubLabelFont()
Returns the font used to display the sub-category labels.
Returns:
The font (never null).

getSubLabelPaint

public Paint getSubLabelPaint()
Returns the paint used to display the sub-category labels.
Returns:
The paint (never null).

reserveSpace

public AxisSpace reserveSpace(Graphics2D g2,
                              Plot plot,
                              Rectangle2D plotArea,
                              RectangleEdge edge,
                              AxisSpace space)
Estimates the space required for the axis, given a specific drawing area.
Overrides:
reserveSpace in interface CategoryAxis
Parameters:
g2 - the graphics device (used to obtain font information).
plot - the plot that the axis belongs to.
plotArea - the area within which the axis should be drawn.
edge - the axis location (top or bottom).
space - the space already reserved.
Returns:
The space required to draw the axis.

setSubLabelFont

public void setSubLabelFont(Font font)
Sets the font used to display the sub-category labels and sends an AxisChangeEvent to all registered listeners.
Parameters:
font - the font (null not permitted).

setSubLabelPaint

public void setSubLabelPaint(Paint paint)
Sets the paint used to display the sub-category labels and sends an AxisChangeEvent to all registered listeners.
Parameters:
paint - the paint (null not permitted).