public class

XYPointerAnnotation

extends XYTextAnnotation
implements Serializable Cloneable
java.lang.Object
   ↳ org.jfree.chart.annotations.AbstractXYAnnotation
     ↳ org.jfree.chart.annotations.XYTextAnnotation
       ↳ org.jfree.chart.annotations.XYPointerAnnotation

Class Overview

An arrow and label that can be placed on an XYPlot. The arrow is drawn at a user-definable angle so that it points towards the (x, y) location for the annotation.

The arrow length (and its offset from the (x, y) location) is controlled by the tip radius and the base radius attributes. Imagine two circles around the (x, y) coordinate: the inner circle defined by the tip radius, and the outer circle defined by the base radius. Now, draw the arrow starting at some point on the outer circle (the point is determined by the angle), with the arrow tip being drawn at a corresponding point on the inner circle.

Summary

Constants
double DEFAULT_ARROW_LENGTH The default arrow length (in Java2D units).
double DEFAULT_ARROW_WIDTH The default arrow width (in Java2D units).
double DEFAULT_BASE_RADIUS The default base radius (in Java2D units).
double DEFAULT_LABEL_OFFSET The default label offset (in Java2D units).
double DEFAULT_TIP_RADIUS The default tip radius (in Java2D units).
[Expand]
Inherited Constants
From class org.jfree.chart.annotations.XYTextAnnotation
[Expand]
Inherited Fields
From class org.jfree.chart.annotations.XYTextAnnotation
Public Constructors
XYPointerAnnotation(String label, double x, double y, double angle)
Creates a new label and arrow annotation.
Public Methods
Object clone()
Returns a clone of the annotation.
void draw(Graphics2D g2, XYPlot plot, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info)
Draws the annotation.
boolean equals(Object obj)
Tests this annotation for equality with an arbitrary object.
double getAngle()
Returns the angle of the arrow.
double getArrowLength()
Returns the arrow length.
Paint getArrowPaint()
Returns the paint used for the arrow.
Stroke getArrowStroke()
Returns the stroke used to draw the arrow line.
double getArrowWidth()
Returns the arrow width.
double getBaseRadius()
Returns the base radius.
double getLabelOffset()
Returns the label offset.
double getTipRadius()
Returns the tip radius.
int hashCode()
Returns a hash code for this instance.
void setAngle(double angle)
Sets the angle of the arrow.
void setArrowLength(double length)
Sets the arrow length.
void setArrowPaint(Paint paint)
Sets the paint used for the arrow.
void setArrowStroke(Stroke stroke)
Sets the stroke used to draw the arrow line.
void setArrowWidth(double width)
Sets the arrow width.
void setBaseRadius(double radius)
Sets the base radius.
void setLabelOffset(double offset)
Sets the label offset (from the arrow base, continuing in a straight line, in Java2D units).
void setTipRadius(double radius)
Sets the tip radius.
[Expand]
Inherited Methods
From class org.jfree.chart.annotations.XYTextAnnotation
From class org.jfree.chart.annotations.AbstractXYAnnotation
From class java.lang.Object
From interface org.jfree.chart.annotations.XYAnnotation

Constants

public static final double DEFAULT_ARROW_LENGTH

The default arrow length (in Java2D units).

Constant Value: 5.0

public static final double DEFAULT_ARROW_WIDTH

The default arrow width (in Java2D units).

Constant Value: 3.0

public static final double DEFAULT_BASE_RADIUS

The default base radius (in Java2D units).

Constant Value: 30.0

public static final double DEFAULT_LABEL_OFFSET

The default label offset (in Java2D units).

Constant Value: 3.0

public static final double DEFAULT_TIP_RADIUS

The default tip radius (in Java2D units).

Constant Value: 10.0

Public Constructors

public XYPointerAnnotation (String label, double x, double y, double angle)

Creates a new label and arrow annotation.

Parameters
label the label (null permitted).
x the x-coordinate (measured against the chart's domain axis).
y the y-coordinate (measured against the chart's range axis).
angle the angle of the arrow's line (in radians).

Public Methods

public Object clone ()

Returns a clone of the annotation.

Returns
  • A clone.
Throws
CloneNotSupportedException if the annotation can't be cloned.

public void draw (Graphics2D g2, XYPlot plot, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info)

Draws the annotation.

Parameters
g2 the graphics device.
plot the plot.
dataArea the data area.
domainAxis the domain axis.
rangeAxis the range axis.
rendererIndex the renderer index.
info the plot rendering info.

public boolean equals (Object obj)

Tests this annotation for equality with an arbitrary object.

Parameters
obj the object (null permitted).
Returns
  • true or false.

public double getAngle ()

Returns the angle of the arrow.

Returns
  • The angle (in radians).
See Also

public double getArrowLength ()

Returns the arrow length.

Returns
  • The arrow length.

public Paint getArrowPaint ()

Returns the paint used for the arrow.

Returns
  • The arrow paint (never null).

public Stroke getArrowStroke ()

Returns the stroke used to draw the arrow line.

Returns
  • The arrow stroke (never null).

public double getArrowWidth ()

Returns the arrow width.

Returns
  • The arrow width (in Java2D units).

public double getBaseRadius ()

Returns the base radius.

Returns
  • The base radius (in Java2D units).

public double getLabelOffset ()

Returns the label offset.

Returns
  • The label offset (in Java2D units).

public double getTipRadius ()

Returns the tip radius.

Returns
  • The tip radius (in Java2D units).

public int hashCode ()

Returns a hash code for this instance.

Returns
  • A hash code.

public void setAngle (double angle)

Sets the angle of the arrow.

Parameters
angle the angle (in radians).
See Also

public void setArrowLength (double length)

Sets the arrow length.

Parameters
length the length.
See Also

public void setArrowPaint (Paint paint)

Sets the paint used for the arrow.

Parameters
paint the arrow paint (null not permitted).
See Also

public void setArrowStroke (Stroke stroke)

Sets the stroke used to draw the arrow line.

Parameters
stroke the stroke (null not permitted).
See Also

public void setArrowWidth (double width)

Sets the arrow width.

Parameters
width the width (in Java2D units).
See Also

public void setBaseRadius (double radius)

Sets the base radius.

Parameters
radius the radius (in Java2D units).
See Also

public void setLabelOffset (double offset)

Sets the label offset (from the arrow base, continuing in a straight line, in Java2D units).

Parameters
offset the offset (in Java2D units).
See Also

public void setTipRadius (double radius)

Sets the tip radius.

Parameters
radius the radius (in Java2D units).
See Also