Header
And More


org.jfree.chart.annotations
Class XYPointerAnnotation

java.lang.Object
  extended by org.jfree.chart.annotations.AbstractXYAnnotation
      extended by org.jfree.chart.annotations.XYTextAnnotation
          extended by org.jfree.chart.annotations.XYPointerAnnotation
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, XYAnnotation, org.jfree.util.PublicCloneable

public class XYPointerAnnotation
extends XYTextAnnotation
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

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.

See Also:
Serialized Form

Field Summary
static double DEFAULT_ARROW_LENGTH
          The default arrow length (in Java2D units).
static double DEFAULT_ARROW_WIDTH
          The default arrow width (in Java2D units).
static double DEFAULT_BASE_RADIUS
          The default base radius (in Java2D units).
static double DEFAULT_LABEL_OFFSET
          The default label offset (in Java2D units).
static double DEFAULT_TIP_RADIUS
          The default tip radius (in Java2D units).
 
Fields inherited from class org.jfree.chart.annotations.XYTextAnnotation
DEFAULT_FONT, DEFAULT_PAINT, DEFAULT_ROTATION_ANCHOR, DEFAULT_ROTATION_ANGLE, DEFAULT_TEXT_ANCHOR
 
Constructor Summary
XYPointerAnnotation(java.lang.String label, double x, double y, double angle)
          Creates a new label and arrow annotation.
 
Method Summary
 java.lang.Object clone()
          Returns a clone of the annotation.
 void draw(java.awt.Graphics2D g2, XYPlot plot, java.awt.geom.Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info)
          Draws the annotation.
 boolean equals(java.lang.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.
 java.awt.Paint getArrowPaint()
          Returns the paint used for the arrow.
 java.awt.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(java.awt.Paint paint)
          Sets the paint used for the arrow.
 void setArrowStroke(java.awt.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.
 
Methods inherited from class org.jfree.chart.annotations.XYTextAnnotation
getBackgroundPaint, getFont, getOutlinePaint, getOutlineStroke, getPaint, getRotationAnchor, getRotationAngle, getText, getTextAnchor, getX, getY, isOutlineVisible, setBackgroundPaint, setFont, setOutlinePaint, setOutlineStroke, setOutlineVisible, setPaint, setRotationAnchor, setRotationAngle, setText, setTextAnchor, setX, setY
 
Methods inherited from class org.jfree.chart.annotations.AbstractXYAnnotation
addEntity, getToolTipText, getURL, setToolTipText, setURL
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIP_RADIUS

public static final double DEFAULT_TIP_RADIUS
The default tip radius (in Java2D units).

See Also:
Constant Field Values

DEFAULT_BASE_RADIUS

public static final double DEFAULT_BASE_RADIUS
The default base radius (in Java2D units).

See Also:
Constant Field Values

DEFAULT_LABEL_OFFSET

public static final double DEFAULT_LABEL_OFFSET
The default label offset (in Java2D units).

See Also:
Constant Field Values

DEFAULT_ARROW_LENGTH

public static final double DEFAULT_ARROW_LENGTH
The default arrow length (in Java2D units).

See Also:
Constant Field Values

DEFAULT_ARROW_WIDTH

public static final double DEFAULT_ARROW_WIDTH
The default arrow width (in Java2D units).

See Also:
Constant Field Values
Constructor Detail

XYPointerAnnotation

public XYPointerAnnotation(java.lang.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).
Method Detail

getAngle

public double getAngle()
Returns the angle of the arrow.

Returns:
The angle (in radians).
See Also:
setAngle(double)

setAngle

public void setAngle(double angle)
Sets the angle of the arrow.

Parameters:
angle - the angle (in radians).
See Also:
getAngle()

getTipRadius

public double getTipRadius()
Returns the tip radius.

Returns:
The tip radius (in Java2D units).
See Also:
setTipRadius(double)

setTipRadius

public void setTipRadius(double radius)
Sets the tip radius.

Parameters:
radius - the radius (in Java2D units).
See Also:
getTipRadius()

getBaseRadius

public double getBaseRadius()
Returns the base radius.

Returns:
The base radius (in Java2D units).
See Also:
setBaseRadius(double)

setBaseRadius

public void setBaseRadius(double radius)
Sets the base radius.

Parameters:
radius - the radius (in Java2D units).
See Also:
getBaseRadius()

getLabelOffset

public double getLabelOffset()
Returns the label offset.

Returns:
The label offset (in Java2D units).
See Also:
setLabelOffset(double)

setLabelOffset

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:
getLabelOffset()

getArrowLength

public double getArrowLength()
Returns the arrow length.

Returns:
The arrow length.
See Also:
setArrowLength(double)

setArrowLength

public void setArrowLength(double length)
Sets the arrow length.

Parameters:
length - the length.
See Also:
getArrowLength()

getArrowWidth

public double getArrowWidth()
Returns the arrow width.

Returns:
The arrow width (in Java2D units).
See Also:
setArrowWidth(double)

setArrowWidth

public void setArrowWidth(double width)
Sets the arrow width.

Parameters:
width - the width (in Java2D units).
See Also:
getArrowWidth()

getArrowStroke

public java.awt.Stroke getArrowStroke()
Returns the stroke used to draw the arrow line.

Returns:
The arrow stroke (never null).
See Also:
setArrowStroke(Stroke)

setArrowStroke

public void setArrowStroke(java.awt.Stroke stroke)
Sets the stroke used to draw the arrow line.

Parameters:
stroke - the stroke (null not permitted).
See Also:
getArrowStroke()

getArrowPaint

public java.awt.Paint getArrowPaint()
Returns the paint used for the arrow.

Returns:
The arrow paint (never null).
See Also:
setArrowPaint(Paint)

setArrowPaint

public void setArrowPaint(java.awt.Paint paint)
Sets the paint used for the arrow.

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

draw

public void draw(java.awt.Graphics2D g2,
                 XYPlot plot,
                 java.awt.geom.Rectangle2D dataArea,
                 ValueAxis domainAxis,
                 ValueAxis rangeAxis,
                 int rendererIndex,
                 PlotRenderingInfo info)
Draws the annotation.

Specified by:
draw in interface XYAnnotation
Overrides:
draw in class XYTextAnnotation
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.

equals

public boolean equals(java.lang.Object obj)
Tests this annotation for equality with an arbitrary object.

Overrides:
equals in class XYTextAnnotation
Parameters:
obj - the object (null permitted).
Returns:
true or false.

hashCode

public int hashCode()
Returns a hash code for this instance.

Overrides:
hashCode in class XYTextAnnotation
Returns:
A hash code.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the annotation.

Specified by:
clone in interface org.jfree.util.PublicCloneable
Overrides:
clone in class XYTextAnnotation
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if the annotation can't be cloned.

Footer
And More


Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.