Package org.jfree.chart.annotations
Class XYNoteAnnotation
java.lang.Object
org.jfree.chart.annotations.AbstractAnnotation
org.jfree.chart.annotations.AbstractXYAnnotation
org.jfree.chart.annotations.XYTextAnnotation
org.jfree.chart.annotations.XYNoteAnnotation
- All Implemented Interfaces:
Serializable,Cloneable,Annotation,XYAnnotation,PublicCloneable
public class XYNoteAnnotation
extends XYTextAnnotation
implements Cloneable, PublicCloneable, Serializable
An line and label that can be placed on an
XYPlot. The line is
drawn at a user-definable angle so that it points towards the (x, y)
location for the annotation.
The line 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 line starting at some point on the outer circle (the point is determined by the angle), with the line tip being drawn at a corresponding point on the inner circle.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleThe angle of the line's line (in radians).private doubleThe radius from the (x, y) point to the start of the line line (in Java2D units).static final PaintThe default line stroke.static final doubleThe default base radius (in Java2D units).static final doubleThe default label offset (in Java2D units).static final StrokeThe default line stroke.static final PaintThe default line stroke.static final doubleThe default tip radius (in Java2D units).private doubleThe radius from the base point to the anchor point for the label.private PaintThe line paint.private StrokeThe line stroke.private static final longFor serialization.private doubleThe radius from the (x, y) point to the tip of the line (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
ConstructorsConstructorDescriptionXYNoteAnnotation(String label, double x, double y, double angle) Creates a new label and line annotation. -
Method Summary
Modifier and TypeMethodDescriptionclone()Returns a clone of the annotation.voiddraw(Graphics2D g2, XYPlot plot, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info) Draws the annotation.booleanTests this annotation for equality with an arbitrary object.doublegetAngle()Returns the angle of the line.doubleReturns the base radius.doubleReturns the label offset.Returns the paint used for the line.Returns the stroke used to draw the line line.doubleReturns the tip radius.inthashCode()Returns a hash code for this instance.private voidreadObject(ObjectInputStream stream) Provides serialization support.voidsetAngle(double angle) Sets the angle of the line and sends anAnnotationChangeEventto all registered listeners.voidsetBaseRadius(double radius) Sets the base radius and sends anAnnotationChangeEventto all registered listeners.voidsetLabelOffset(double offset) Sets the label offset (from the line base, continuing in a straight line, in Java2D units) and sends anAnnotationChangeEventto all registered listeners.voidsetLinePaint(Paint paint) Sets the paint used for the line and sends anAnnotationChangeEventto all registered listeners.voidsetLineStroke(Stroke stroke) Sets the stroke used to draw the line line and sends anAnnotationChangeEventto all registered listeners.voidsetTipRadius(double radius) Sets the tip radius and sends anAnnotationChangeEventto all registered listeners.private voidwriteObject(ObjectOutputStream stream) Provides serialization support.Methods inherited from class org.jfree.chart.annotations.XYTextAnnotation
canEqual, getBackgroundPaint, getFont, getOutlinePaint, getOutlineStroke, getPaint, getRotationAnchor, getRotationAngle, getText, getTextAnchor, getX, getY, isOutlineVisible, setBackgroundPaint, setFont, setOutlinePaint, setOutlineStroke, setOutlineVisible, setPaint, setRotationAnchor, setRotationAngle, setText, setTextAnchor, setX, setYMethods inherited from class org.jfree.chart.annotations.AbstractXYAnnotation
addEntity, getToolTipText, getURL, setToolTipText, setURLMethods inherited from class org.jfree.chart.annotations.AbstractAnnotation
addChangeListener, fireAnnotationChanged, getNotify, hasListener, notifyListeners, removeChangeListener, setNotifyMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jfree.chart.annotations.Annotation
addChangeListener, removeChangeListener
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor serialization.- See Also:
-
DEFAULT_TIP_RADIUS
public static final double DEFAULT_TIP_RADIUSThe default tip radius (in Java2D units).- See Also:
-
DEFAULT_BASE_RADIUS
public static final double DEFAULT_BASE_RADIUSThe default base radius (in Java2D units).- See Also:
-
DEFAULT_LABEL_OFFSET
public static final double DEFAULT_LABEL_OFFSETThe default label offset (in Java2D units).- See Also:
-
DEFAULT_LINE_STROKE
The default line stroke. -
DEFAULT_BACKGROUND_PAINT
The default line stroke. -
DEFAULT_OUTLINE_PAINT
The default line stroke. -
angle
private double angleThe angle of the line's line (in radians). -
tipRadius
private double tipRadiusThe radius from the (x, y) point to the tip of the line (in Java2D units). -
baseRadius
private double baseRadiusThe radius from the (x, y) point to the start of the line line (in Java2D units). -
lineStroke
The line stroke. -
linePaint
The line paint. -
labelOffset
private double labelOffsetThe radius from the base point to the anchor point for the label.
-
-
Constructor Details
-
XYNoteAnnotation
Creates a new label and line annotation.- Parameters:
label- the label (nullpermitted).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 line's line (in radians).
-
-
Method Details
-
getAngle
public double getAngle()Returns the angle of the line.- Returns:
- The angle (in radians).
- See Also:
-
setAngle
public void setAngle(double angle) Sets the angle of the line and sends anAnnotationChangeEventto all registered listeners.- Parameters:
angle- the angle (in radians).- See Also:
-
getTipRadius
public double getTipRadius()Returns the tip radius.- Returns:
- The tip radius (in Java2D units).
- See Also:
-
setTipRadius
public void setTipRadius(double radius) Sets the tip radius and sends anAnnotationChangeEventto all registered listeners.- Parameters:
radius- the radius (in Java2D units).- See Also:
-
getBaseRadius
public double getBaseRadius()Returns the base radius.- Returns:
- The base radius (in Java2D units).
- See Also:
-
setBaseRadius
public void setBaseRadius(double radius) Sets the base radius and sends anAnnotationChangeEventto all registered listeners.- Parameters:
radius- the radius (in Java2D units).- See Also:
-
getLabelOffset
public double getLabelOffset()Returns the label offset.- Returns:
- The label offset (in Java2D units).
- See Also:
-
setLabelOffset
public void setLabelOffset(double offset) Sets the label offset (from the line base, continuing in a straight line, in Java2D units) and sends anAnnotationChangeEventto all registered listeners.- Parameters:
offset- the offset (in Java2D units).- See Also:
-
getLineStroke
Returns the stroke used to draw the line line.- Returns:
- The line stroke (never
null). - See Also:
-
setLineStroke
Sets the stroke used to draw the line line and sends anAnnotationChangeEventto all registered listeners.- Parameters:
stroke- the stroke (nullnot permitted).- See Also:
-
getLinePaint
Returns the paint used for the line.- Returns:
- The line paint (never
null). - See Also:
-
setLinePaint
Sets the paint used for the line and sends anAnnotationChangeEventto all registered listeners.- Parameters:
paint- the line paint (nullnot permitted).- See Also:
-
draw
public void draw(Graphics2D g2, XYPlot plot, Rectangle2D dataArea, ValueAxis domainAxis, ValueAxis rangeAxis, int rendererIndex, PlotRenderingInfo info) Draws the annotation.- Specified by:
drawin interfaceXYAnnotation- Overrides:
drawin classXYTextAnnotation- 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
Tests this annotation for equality with an arbitrary object.- Overrides:
equalsin classXYTextAnnotation- Parameters:
obj- the object (nullpermitted).- Returns:
trueorfalse.
-
hashCode
public int hashCode()Returns a hash code for this instance.- Overrides:
hashCodein classXYTextAnnotation- Returns:
- A hash code.
-
clone
Returns a clone of the annotation.- Specified by:
clonein interfacePublicCloneable- Overrides:
clonein classXYTextAnnotation- Returns:
- A clone.
- Throws:
CloneNotSupportedException- if the annotation can't be cloned.
-
writeObject
Provides serialization support.- Parameters:
stream- the output stream.- Throws:
IOException- if there is an I/O error.
-
readObject
Provides serialization support.- Parameters:
stream- the input stream.- Throws:
IOException- if there is an I/O error.ClassNotFoundException- if there is a classpath problem.
-