Package org.jfree.chart.axis
Class SubCategoryAxis
- java.lang.Object
-
- org.jfree.chart.axis.Axis
-
- org.jfree.chart.axis.CategoryAxis
-
- org.jfree.chart.axis.SubCategoryAxis
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class SubCategoryAxis extends CategoryAxis implements java.lang.Cloneable, java.io.Serializable
A specialised category axis that can display sub-categories.- See Also:
- Serialized Form
-
-
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_LABEL_FONT, DEFAULT_TICK_LABEL_INSETS, DEFAULT_TICK_LABEL_PAINT, DEFAULT_TICK_LABELS_VISIBLE, DEFAULT_TICK_MARK_INSIDE_LENGTH, DEFAULT_TICK_MARK_OUTSIDE_LENGTH, DEFAULT_TICK_MARK_PAINT, DEFAULT_TICK_MARK_STROKE, DEFAULT_TICK_MARKS_VISIBLE
-
-
Constructor Summary
Constructors Constructor Description SubCategoryAxis(java.lang.String label)
Creates a new axis.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSubCategory(java.lang.Comparable subCategory)
Adds a sub-category to the axis and sends anAxisChangeEvent
to all registered listeners.AxisState
draw(java.awt.Graphics2D g2, double cursor, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer).protected AxisState
drawSubCategoryLabels(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, AxisState state, PlotRenderingInfo plotState)
Draws the category labels and returns the updated axis state.boolean
equals(java.lang.Object obj)
Tests the axis for equality with an arbitrary object.java.awt.Font
getSubLabelFont()
Returns the font used to display the sub-category labels.java.awt.Paint
getSubLabelPaint()
Returns the paint used to display the sub-category labels.int
hashCode()
Returns a hashcode for this instance.AxisSpace
reserveSpace(java.awt.Graphics2D g2, Plot plot, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge, AxisSpace space)
Estimates the space required for the axis, given a specific drawing area.void
setSubLabelFont(java.awt.Font font)
Sets the font used to display the sub-category labels and sends anAxisChangeEvent
to all registered listeners.void
setSubLabelPaint(java.awt.Paint paint)
Sets the paint used to display the sub-category labels and sends anAxisChangeEvent
to all registered listeners.-
Methods inherited from class org.jfree.chart.axis.CategoryAxis
addCategoryLabelToolTip, addCategoryLabelURL, calculateCategoryGapSize, calculateCategorySize, calculateTextBlockHeight, calculateTextBlockWidth, clearCategoryLabelToolTips, clearCategoryLabelURLs, clone, configure, createLabel, drawCategoryLabels, drawCategoryLabels, drawTickMarks, getCategoryEnd, getCategoryJava2DCoordinate, getCategoryLabelPositionOffset, getCategoryLabelPositions, getCategoryLabelToolTip, getCategoryLabelURL, getCategoryMargin, getCategoryMiddle, getCategoryMiddle, getCategorySeriesMiddle, getCategorySeriesMiddle, getCategoryStart, getLowerMargin, getMaximumCategoryLabelLines, getMaximumCategoryLabelWidthRatio, getTickLabelFont, getTickLabelPaint, getUpperMargin, refreshTicks, removeCategoryLabelToolTip, removeCategoryLabelURL, setCategoryLabelPositionOffset, setCategoryLabelPositions, setCategoryMargin, setLowerMargin, setMaximumCategoryLabelLines, setMaximumCategoryLabelWidthRatio, setTickLabelFont, setTickLabelPaint, setUpperMargin
-
Methods inherited from class org.jfree.chart.axis.Axis
addChangeListener, createAndAddEntity, createAttributedLabel, drawAttributedLabel, drawAxisLine, drawLabel, fireChangeEvent, getAttributedLabel, getAxisLinePaint, getAxisLineStroke, getFixedDimension, getLabel, getLabelAngle, getLabelEnclosure, getLabelFont, getLabelInsets, getLabelLocation, getLabelPaint, getMinorTickMarkInsideLength, getMinorTickMarkOutsideLength, getPlot, getTickLabelFont, getTickLabelInsets, getTickLabelPaint, getTickMarkInsideLength, getTickMarkOutsideLength, getTickMarkPaint, getTickMarkStroke, hasListener, isAxisLineVisible, isMinorTickMarksVisible, isTickLabelsVisible, isTickMarksVisible, isVisible, labelAnchorH, labelAnchorV, labelLocationX, labelLocationY, notifyListeners, removeChangeListener, setAttributedLabel, setAttributedLabel, setAxisLinePaint, setAxisLineStroke, setAxisLineVisible, setFixedDimension, setLabel, setLabelAngle, setLabelFont, setLabelInsets, setLabelInsets, setLabelLocation, setLabelPaint, setMinorTickMarkInsideLength, setMinorTickMarkOutsideLength, setMinorTickMarksVisible, setPlot, setTickLabelFont, setTickLabelInsets, setTickLabelPaint, setTickLabelsVisible, setTickMarkInsideLength, setTickMarkOutsideLength, setTickMarkPaint, setTickMarkStroke, setTickMarksVisible, setVisible
-
-
-
-
Constructor Detail
-
SubCategoryAxis
public SubCategoryAxis(java.lang.String label)
Creates a new axis.- Parameters:
label
- the axis label.
-
-
Method Detail
-
addSubCategory
public void addSubCategory(java.lang.Comparable subCategory)
Adds a sub-category to the axis and sends anAxisChangeEvent
to all registered listeners.- Parameters:
subCategory
- the sub-category (null
not permitted).
-
getSubLabelFont
public java.awt.Font getSubLabelFont()
Returns the font used to display the sub-category labels.- Returns:
- The font (never
null
). - See Also:
setSubLabelFont(Font)
-
setSubLabelFont
public void setSubLabelFont(java.awt.Font font)
Sets the font used to display the sub-category labels and sends anAxisChangeEvent
to all registered listeners.- Parameters:
font
- the font (null
not permitted).- See Also:
getSubLabelFont()
-
getSubLabelPaint
public java.awt.Paint getSubLabelPaint()
Returns the paint used to display the sub-category labels.- Returns:
- The paint (never
null
). - See Also:
setSubLabelPaint(Paint)
-
setSubLabelPaint
public void setSubLabelPaint(java.awt.Paint paint)
Sets the paint used to display the sub-category labels and sends anAxisChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).- See Also:
getSubLabelPaint()
-
reserveSpace
public AxisSpace reserveSpace(java.awt.Graphics2D g2, Plot plot, java.awt.geom.Rectangle2D plotArea, org.jfree.ui.RectangleEdge edge, AxisSpace space)
Estimates the space required for the axis, given a specific drawing area.- Overrides:
reserveSpace
in classCategoryAxis
- 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.
-
draw
public AxisState draw(java.awt.Graphics2D g2, double cursor, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.RectangleEdge edge, PlotRenderingInfo plotState)
Draws the axis on a Java 2D graphics device (such as the screen or a printer).- Overrides:
draw
in classCategoryAxis
- 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(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, java.awt.geom.Rectangle2D dataArea, org.jfree.ui.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(java.lang.Object obj)
Tests the axis for equality with an arbitrary object.- Overrides:
equals
in classCategoryAxis
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
hashCode
public int hashCode()
Returns a hashcode for this instance.- Overrides:
hashCode
in classCategoryAxis
- Returns:
- A hashcode for this instance.
-
-