org.jfree.chart.axis

Class Axis

public abstract class Axis extends Object implements Cloneable, Serializable

The base class for all axes in JFreeChart. Subclasses are divided into those that display values (ValueAxis) and those that display categories (CategoryAxis).
Field Summary
static FontDEFAULT_AXIS_LABEL_FONT
The default axis label font.
static RectangleInsetsDEFAULT_AXIS_LABEL_INSETS
The default axis label insets.
static PaintDEFAULT_AXIS_LABEL_PAINT
The default axis label paint.
static PaintDEFAULT_AXIS_LINE_PAINT
The default axis line paint.
static StrokeDEFAULT_AXIS_LINE_STROKE
The default axis line stroke.
static booleanDEFAULT_AXIS_VISIBLE
The default axis visibility.
static booleanDEFAULT_TICK_LABELS_VISIBLE
The default tick labels visibility.
static FontDEFAULT_TICK_LABEL_FONT
The default tick label font.
static RectangleInsetsDEFAULT_TICK_LABEL_INSETS
The default tick label insets.
static PaintDEFAULT_TICK_LABEL_PAINT
The default tick label paint.
static booleanDEFAULT_TICK_MARKS_VISIBLE
The default tick marks visible.
static floatDEFAULT_TICK_MARK_INSIDE_LENGTH
The default tick mark inside length.
static floatDEFAULT_TICK_MARK_OUTSIDE_LENGTH
The default tick mark outside length.
static PaintDEFAULT_TICK_MARK_PAINT
The default tick paint.
static StrokeDEFAULT_TICK_MARK_STROKE
The default tick stroke.
Constructor Summary
protected Axis(String label)
Constructs an axis, using default values where necessary.
Method Summary
voidaddChangeListener(AxisChangeListener listener)
Registers an object for notification of changes to the axis.
Objectclone()
Returns a clone of the axis.
abstract voidconfigure()
Configures the axis to work with the current plot.
abstract AxisStatedraw(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 voiddrawAxisLine(Graphics2D g2, double cursor, Rectangle2D dataArea, RectangleEdge edge)
Draws an axis line at the current cursor position and edge.
protected AxisStatedrawLabel(String label, Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, AxisState state)
Draws the axis label.
booleanequals(Object obj)
Tests this axis for equality with another object.
PaintgetAxisLinePaint()
Returns the paint used to draw the axis line.
StrokegetAxisLineStroke()
Returns the stroke used to draw the axis line.
doublegetFixedDimension()
Returns the fixed dimension for the axis.
StringgetLabel()
Returns the label for the axis.
doublegetLabelAngle()
Returns the angle of the axis label.
protected Rectangle2DgetLabelEnclosure(Graphics2D g2, RectangleEdge edge)
Returns a rectangle that encloses the axis label.
FontgetLabelFont()
Returns the font for the axis label.
RectangleInsetsgetLabelInsets()
Returns the insets for the label (that is, the amount of blank space that should be left around the label).
PaintgetLabelPaint()
Returns the color/shade used to draw the axis label.
PlotgetPlot()
Returns the plot that the axis is assigned to.
FontgetTickLabelFont()
Returns the font used for the tick labels (if showing).
RectangleInsetsgetTickLabelInsets()
Returns the insets for the tick labels.
PaintgetTickLabelPaint()
Returns the color/shade used for the tick labels.
floatgetTickMarkInsideLength()
Returns the inside length of the tick marks.
floatgetTickMarkOutsideLength()
Returns the outside length of the tick marks.
PaintgetTickMarkPaint()
Returns the paint used to draw tick marks (if they are showing).
StrokegetTickMarkStroke()
Returns the stroke used to draw tick marks.
booleanhasListener(EventListener listener)
Returns true if the specified object is registered with the dataset as a listener.
booleanisAxisLineVisible()
A flag that controls whether or not the axis line is drawn.
booleanisTickLabelsVisible()
Returns a flag indicating whether or not the tick labels are visible.
booleanisTickMarksVisible()
Returns the flag that indicates whether or not the tick marks are showing.
booleanisVisible()
Returns true if the axis is visible, and false otherwise.
protected voidnotifyListeners(AxisChangeEvent event)
Notifies all registered listeners that the axis has changed.
abstract ListrefreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Calculates the positions of the ticks for the axis, storing the results in the tick list (ready for drawing).
voidremoveChangeListener(AxisChangeListener listener)
Deregisters an object for notification of changes to the axis.
abstract AxisSpacereserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)
Estimates the space (height or width) required to draw the axis.
voidsetAxisLinePaint(Paint paint)
Sets the paint used to draw the axis line and sends an AxisChangeEvent to all registered listeners.
voidsetAxisLineStroke(Stroke stroke)
Sets the stroke used to draw the axis line and sends an AxisChangeEvent to all registered listeners.
voidsetAxisLineVisible(boolean visible)
Sets a flag that controls whether or not the axis line is visible and sends an AxisChangeEvent to all registered listeners.
voidsetFixedDimension(double dimension)
Sets the fixed dimension for the axis.
voidsetLabel(String label)
Sets the label for the axis and sends an AxisChangeEvent to all registered listeners.
voidsetLabelAngle(double angle)
Sets the angle for the label and sends an AxisChangeEvent to all registered listeners.
voidsetLabelFont(Font font)
Sets the font for the axis label and sends an AxisChangeEvent to all registered listeners.
voidsetLabelInsets(RectangleInsets insets)
Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.
voidsetLabelPaint(Paint paint)
Sets the paint used to draw the axis label and sends an AxisChangeEvent to all registered listeners.
voidsetPlot(Plot plot)
Sets a reference to the plot that the axis is assigned to.
voidsetTickLabelFont(Font font)
Sets the font for the tick labels and sends an AxisChangeEvent to all registered listeners.
voidsetTickLabelInsets(RectangleInsets insets)
Sets the insets for the tick labels and sends an AxisChangeEvent to all registered listeners.
voidsetTickLabelPaint(Paint paint)
Sets the paint used to draw tick labels (if they are showing) and sends an AxisChangeEvent to all registered listeners.
voidsetTickLabelsVisible(boolean flag)
Sets the flag that determines whether or not the tick labels are visible and sends an AxisChangeEvent to all registered listeners.
voidsetTickMarkInsideLength(float length)
Sets the inside length of the tick marks and sends an AxisChangeEvent to all registered listeners.
voidsetTickMarkOutsideLength(float length)
Sets the outside length of the tick marks and sends an AxisChangeEvent to all registered listeners.
voidsetTickMarkPaint(Paint paint)
Sets the paint used to draw tick marks and sends an AxisChangeEvent to all registered listeners.
voidsetTickMarksVisible(boolean flag)
Sets the flag that indicates whether or not the tick marks are showing and sends an AxisChangeEvent to all registered listeners.
voidsetTickMarkStroke(Stroke stroke)
Sets the stroke used to draw tick marks and sends an AxisChangeEvent to all registered listeners.
voidsetVisible(boolean flag)
Sets a flag that controls whether or not the axis is visible and sends an AxisChangeEvent to all registered listeners.

Field Detail

DEFAULT_AXIS_LABEL_FONT

public static final Font DEFAULT_AXIS_LABEL_FONT
The default axis label font.

DEFAULT_AXIS_LABEL_INSETS

public static final RectangleInsets DEFAULT_AXIS_LABEL_INSETS
The default axis label insets.

DEFAULT_AXIS_LABEL_PAINT

public static final Paint DEFAULT_AXIS_LABEL_PAINT
The default axis label paint.

DEFAULT_AXIS_LINE_PAINT

public static final Paint DEFAULT_AXIS_LINE_PAINT
The default axis line paint.

DEFAULT_AXIS_LINE_STROKE

public static final Stroke DEFAULT_AXIS_LINE_STROKE
The default axis line stroke.

DEFAULT_AXIS_VISIBLE

public static final boolean DEFAULT_AXIS_VISIBLE
The default axis visibility.

DEFAULT_TICK_LABELS_VISIBLE

public static final boolean DEFAULT_TICK_LABELS_VISIBLE
The default tick labels visibility.

DEFAULT_TICK_LABEL_FONT

public static final Font DEFAULT_TICK_LABEL_FONT
The default tick label font.

DEFAULT_TICK_LABEL_INSETS

public static final RectangleInsets DEFAULT_TICK_LABEL_INSETS
The default tick label insets.

DEFAULT_TICK_LABEL_PAINT

public static final Paint DEFAULT_TICK_LABEL_PAINT
The default tick label paint.

DEFAULT_TICK_MARKS_VISIBLE

public static final boolean DEFAULT_TICK_MARKS_VISIBLE
The default tick marks visible.

DEFAULT_TICK_MARK_INSIDE_LENGTH

public static final float DEFAULT_TICK_MARK_INSIDE_LENGTH
The default tick mark inside length.

DEFAULT_TICK_MARK_OUTSIDE_LENGTH

public static final float DEFAULT_TICK_MARK_OUTSIDE_LENGTH
The default tick mark outside length.

DEFAULT_TICK_MARK_PAINT

public static final Paint DEFAULT_TICK_MARK_PAINT
The default tick paint.

DEFAULT_TICK_MARK_STROKE

public static final Stroke DEFAULT_TICK_MARK_STROKE
The default tick stroke.

Constructor Detail

Axis

protected Axis(String label)
Constructs an axis, using default values where necessary.

Parameters: label the axis label (null permitted).

Method Detail

addChangeListener

public void addChangeListener(AxisChangeListener listener)
Registers an object for notification of changes to the axis.

Parameters: listener the object that is being registered.

See Also: removeChangeListener

clone

public Object clone()
Returns a clone of the axis.

Returns: A clone.

Throws: CloneNotSupportedException if some component of the axis does not support cloning.

configure

public abstract void configure()
Configures the axis to work with the current plot. Override this method to perform any special processing (such as auto-rescaling).

draw

public abstract 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).

Parameters: g2 the graphics device (null not permitted). cursor the cursor location (determines where to draw the axis). plotArea the area within which the axes and plot should be drawn. dataArea the area within which the data should be drawn. edge the axis location (null not permitted). plotState collects information about the plot (null permitted).

Returns: The axis state (never null).

drawAxisLine

protected void drawAxisLine(Graphics2D g2, double cursor, Rectangle2D dataArea, RectangleEdge edge)
Draws an axis line at the current cursor position and edge.

Parameters: g2 the graphics device. cursor the cursor position. dataArea the data area. edge the edge.

drawLabel

protected AxisState drawLabel(String label, Graphics2D g2, Rectangle2D plotArea, Rectangle2D dataArea, RectangleEdge edge, AxisState state)
Draws the axis label.

Parameters: label the label text. g2 the graphics device. plotArea the plot area. dataArea the area inside the axes. edge the location of the axis. state the axis state (null not permitted).

Returns: Information about the axis.

equals

public boolean equals(Object obj)
Tests this axis for equality with another object.

Parameters: obj the object (null permitted).

Returns: true or false.

getAxisLinePaint

public Paint getAxisLinePaint()
Returns the paint used to draw the axis line.

Returns: The paint (never null).

See Also: setAxisLinePaint

getAxisLineStroke

public Stroke getAxisLineStroke()
Returns the stroke used to draw the axis line.

Returns: The stroke (never null).

See Also: setAxisLineStroke

getFixedDimension

public double getFixedDimension()
Returns the fixed dimension for the axis.

Returns: The fixed dimension.

See Also: Axis

getLabel

public String getLabel()
Returns the label for the axis.

Returns: The label for the axis (null possible).

See Also: getLabelFont getLabelPaint setLabel

getLabelAngle

public double getLabelAngle()
Returns the angle of the axis label.

Returns: The angle (in radians).

See Also: Axis

getLabelEnclosure

protected Rectangle2D getLabelEnclosure(Graphics2D g2, RectangleEdge edge)
Returns a rectangle that encloses the axis label. This is typically used for layout purposes (it gives the maximum dimensions of the label).

Parameters: g2 the graphics device. edge the edge of the plot area along which the axis is measuring.

Returns: The enclosing rectangle.

getLabelFont

public Font getLabelFont()
Returns the font for the axis label.

Returns: The font (never null).

See Also: setLabelFont

getLabelInsets

public RectangleInsets getLabelInsets()
Returns the insets for the label (that is, the amount of blank space that should be left around the label).

Returns: The label insets (never null).

See Also: setLabelInsets

getLabelPaint

public Paint getLabelPaint()
Returns the color/shade used to draw the axis label.

Returns: The paint (never null).

See Also: setLabelPaint

getPlot

public Plot getPlot()
Returns the plot that the axis is assigned to. This method will return null if the axis is not currently assigned to a plot.

Returns: The plot that the axis is assigned to (possibly null).

See Also: setPlot

getTickLabelFont

public Font getTickLabelFont()
Returns the font used for the tick labels (if showing).

Returns: The font (never null).

See Also: setTickLabelFont

getTickLabelInsets

public RectangleInsets getTickLabelInsets()
Returns the insets for the tick labels.

Returns: The insets (never null).

See Also: setTickLabelInsets

getTickLabelPaint

public Paint getTickLabelPaint()
Returns the color/shade used for the tick labels.

Returns: The paint used for the tick labels.

See Also: setTickLabelPaint

getTickMarkInsideLength

public float getTickMarkInsideLength()
Returns the inside length of the tick marks.

Returns: The length.

See Also: getTickMarkOutsideLength Axis

getTickMarkOutsideLength

public float getTickMarkOutsideLength()
Returns the outside length of the tick marks.

Returns: The length.

See Also: getTickMarkInsideLength Axis

getTickMarkPaint

public Paint getTickMarkPaint()
Returns the paint used to draw tick marks (if they are showing).

Returns: The paint (never null).

See Also: setTickMarkPaint

getTickMarkStroke

public Stroke getTickMarkStroke()
Returns the stroke used to draw tick marks.

Returns: The stroke (never null).

See Also: setTickMarkStroke

hasListener

public boolean hasListener(EventListener listener)
Returns true if the specified object is registered with the dataset as a listener. Most applications won't need to call this method, it exists mainly for use by unit testing code.

Parameters: listener the listener.

Returns: A boolean.

isAxisLineVisible

public boolean isAxisLineVisible()
A flag that controls whether or not the axis line is drawn.

Returns: A boolean.

See Also: getAxisLinePaint getAxisLineStroke Axis

isTickLabelsVisible

public boolean isTickLabelsVisible()
Returns a flag indicating whether or not the tick labels are visible.

Returns: The flag.

See Also: getTickLabelFont getTickLabelPaint Axis

isTickMarksVisible

public boolean isTickMarksVisible()
Returns the flag that indicates whether or not the tick marks are showing.

Returns: The flag that indicates whether or not the tick marks are showing.

See Also: Axis

isVisible

public boolean isVisible()
Returns true if the axis is visible, and false otherwise.

Returns: A boolean.

See Also: Axis

notifyListeners

protected void notifyListeners(AxisChangeEvent event)
Notifies all registered listeners that the axis has changed. The AxisChangeEvent provides information about the change.

Parameters: event information about the change to the axis.

refreshTicks

public abstract List refreshTicks(Graphics2D g2, AxisState state, Rectangle2D dataArea, RectangleEdge edge)
Calculates the positions of the ticks for the axis, storing the results in the tick list (ready for drawing).

Parameters: g2 the graphics device. state the axis state. dataArea the area inside the axes. edge the edge on which the axis is located.

Returns: The list of ticks.

removeChangeListener

public void removeChangeListener(AxisChangeListener listener)
Deregisters an object for notification of changes to the axis.

Parameters: listener the object to deregister.

See Also: addChangeListener

reserveSpace

public abstract AxisSpace reserveSpace(Graphics2D g2, Plot plot, Rectangle2D plotArea, RectangleEdge edge, AxisSpace space)
Estimates the space (height or width) required to draw the axis.

Parameters: g2 the graphics device. plot the plot that the axis belongs to. plotArea the area within which the plot (including axes) should be drawn. edge the axis location. space space already reserved.

Returns: The space required to draw the axis (including pre-reserved space).

setAxisLinePaint

public void setAxisLinePaint(Paint paint)
Sets the paint used to draw the axis line and sends an AxisChangeEvent to all registered listeners.

Parameters: paint the paint (null not permitted).

See Also: getAxisLinePaint

setAxisLineStroke

public void setAxisLineStroke(Stroke stroke)
Sets the stroke used to draw the axis line and sends an AxisChangeEvent to all registered listeners.

Parameters: stroke the stroke (null not permitted).

See Also: getAxisLineStroke

setAxisLineVisible

public void setAxisLineVisible(boolean visible)
Sets a flag that controls whether or not the axis line is visible and sends an AxisChangeEvent to all registered listeners.

Parameters: visible the flag.

See Also: isAxisLineVisible setAxisLinePaint setAxisLineStroke

setFixedDimension

public void setFixedDimension(double dimension)
Sets the fixed dimension for the axis.

This is used when combining more than one plot on a chart. In this case, there may be several axes that need to have the same height or width so that they are aligned. This method is used to fix a dimension for the axis (the context determines whether the dimension is horizontal or vertical).

Parameters: dimension the fixed dimension.

See Also: getFixedDimension

setLabel

public void setLabel(String label)
Sets the label for the axis and sends an AxisChangeEvent to all registered listeners.

Parameters: label the new label (null permitted).

See Also: getLabel setLabelFont setLabelPaint

setLabelAngle

public void setLabelAngle(double angle)
Sets the angle for the label and sends an AxisChangeEvent to all registered listeners.

Parameters: angle the angle (in radians).

See Also: getLabelAngle

setLabelFont

public void setLabelFont(Font font)
Sets the font for the axis label and sends an AxisChangeEvent to all registered listeners.

Parameters: font the font (null not permitted).

See Also: getLabelFont

setLabelInsets

public void setLabelInsets(RectangleInsets insets)
Sets the insets for the axis label, and sends an AxisChangeEvent to all registered listeners.

Parameters: insets the insets (null not permitted).

See Also: getLabelInsets

setLabelPaint

public void setLabelPaint(Paint paint)
Sets the paint used to draw the axis label and sends an AxisChangeEvent to all registered listeners.

Parameters: paint the paint (null not permitted).

See Also: getLabelPaint

setPlot

public void setPlot(Plot plot)
Sets a reference to the plot that the axis is assigned to.

This method is used internally, you shouldn't need to call it yourself.

Parameters: plot the plot.

See Also: getPlot

setTickLabelFont

public void setTickLabelFont(Font font)
Sets the font for the tick labels and sends an AxisChangeEvent to all registered listeners.

Parameters: font the font (null not allowed).

See Also: getTickLabelFont

setTickLabelInsets

public void setTickLabelInsets(RectangleInsets insets)
Sets the insets for the tick labels and sends an AxisChangeEvent to all registered listeners.

Parameters: insets the insets (null not permitted).

See Also: getTickLabelInsets

setTickLabelPaint

public void setTickLabelPaint(Paint paint)
Sets the paint used to draw tick labels (if they are showing) and sends an AxisChangeEvent to all registered listeners.

Parameters: paint the paint (null not permitted).

See Also: getTickLabelPaint

setTickLabelsVisible

public void setTickLabelsVisible(boolean flag)
Sets the flag that determines whether or not the tick labels are visible and sends an AxisChangeEvent to all registered listeners.

Parameters: flag the flag.

See Also: isTickLabelsVisible setTickLabelFont setTickLabelPaint

setTickMarkInsideLength

public void setTickMarkInsideLength(float length)
Sets the inside length of the tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters: length the new length.

See Also: getTickMarkInsideLength

setTickMarkOutsideLength

public void setTickMarkOutsideLength(float length)
Sets the outside length of the tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters: length the new length.

See Also: getTickMarkInsideLength

setTickMarkPaint

public void setTickMarkPaint(Paint paint)
Sets the paint used to draw tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters: paint the paint (null not permitted).

See Also: getTickMarkPaint

setTickMarksVisible

public void setTickMarksVisible(boolean flag)
Sets the flag that indicates whether or not the tick marks are showing and sends an AxisChangeEvent to all registered listeners.

Parameters: flag the flag.

See Also: isTickMarksVisible

setTickMarkStroke

public void setTickMarkStroke(Stroke stroke)
Sets the stroke used to draw tick marks and sends an AxisChangeEvent to all registered listeners.

Parameters: stroke the stroke (null not permitted).

See Also: getTickMarkStroke

setVisible

public void setVisible(boolean flag)
Sets a flag that controls whether or not the axis is visible and sends an AxisChangeEvent to all registered listeners.

Parameters: flag the flag.

See Also: isVisible