org.jfree.chart.annotations

## Class XYTextAnnotation

- java.lang.Object
- - org.jfree.chart.annotations.AbstractAnnotation
  - - org.jfree.chart.annotations.AbstractXYAnnotation
    - - org.jfree.chart.annotations.XYTextAnnotation

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Annotation, XYAnnotation, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  XYPointerAnnotation

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

A text annotation that can be placed at a particular (x, y) location on an `XYPlot`.

See Also:
  Serialized Form

### Field Summary

Fields
`static java.awt.Font` `DEFAULT_FONT` The default font.
`static java.awt.Paint` `DEFAULT_PAINT` The default paint.
`static org.jfree.ui.TextAnchor` `DEFAULT_ROTATION_ANCHOR` The default rotation anchor.
`static double` `DEFAULT_ROTATION_ANGLE` The default rotation angle.
`static org.jfree.ui.TextAnchor` `DEFAULT_TEXT_ANCHOR` The default text anchor.

### Constructor Summary

Constructors
Constructor and Description
`XYTextAnnotation(java.lang.String text, double x, double y)` Creates a new annotation to be displayed at the given coordinates.

### Method Summary

Methods
`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.
`java.awt.Paint` `getBackgroundPaint()` Returns the background paint for the annotation.
`java.awt.Font` `getFont()` Returns the font for the annotation.
`java.awt.Paint` `getOutlinePaint()` Returns the outline paint for the annotation.
`java.awt.Stroke` `getOutlineStroke()` Returns the outline stroke for the annotation.
`java.awt.Paint` `getPaint()` Returns the paint for the annotation.
`org.jfree.ui.TextAnchor` `getRotationAnchor()` Returns the rotation anchor.
`double` `getRotationAngle()` Returns the rotation angle.
`java.lang.String` `getText()` Returns the text for the annotation.
`org.jfree.ui.TextAnchor` `getTextAnchor()` Returns the text anchor.
`double` `getX()` Returns the x coordinate for the text anchor point (measured against the domain axis).
`double` `getY()` Returns the y coordinate for the text anchor point (measured against the range axis).
`int` `hashCode()` Returns a hash code for the object.
`boolean` `isOutlineVisible()` Returns the flag that controls whether or not the outline is drawn.
`void` `setBackgroundPaint(java.awt.Paint paint)` Sets the background paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setFont(java.awt.Font font)` Sets the font for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setOutlinePaint(java.awt.Paint paint)` Sets the outline paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setOutlineStroke(java.awt.Stroke stroke)` Sets the outline stroke for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setOutlineVisible(boolean visible)` Sets the flag that controls whether or not the outline is drawn and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setPaint(java.awt.Paint paint)` Sets the paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setRotationAnchor(org.jfree.ui.TextAnchor anchor)` Sets the rotation anchor point and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setRotationAngle(double angle)` Sets the rotation angle and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setText(java.lang.String text)` Sets the text for the annotation.
`void` `setTextAnchor(org.jfree.ui.TextAnchor anchor)` Sets the text anchor (the point on the text bounding rectangle that is aligned to the (x, y) coordinate of the annotation) and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setX(double x)` Sets the x coordinate for the text anchor point (measured against the domain axis) and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setY(double y)` Sets the y coordinate for the text anchor point (measured against the range axis) and sends an `AnnotationChangeEvent` to all registered listeners.

### Methods inherited from class org.jfree.chart.annotations.AbstractXYAnnotation

`addEntity, getToolTipText, getURL, setToolTipText, setURL`

### Methods inherited from class org.jfree.chart.annotations.AbstractAnnotation

`addChangeListener, fireAnnotationChanged, getNotify, hasListener, notifyListeners, removeChangeListener, setNotify`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.jfree.chart.annotations.Annotation

`addChangeListener, removeChangeListener`

### Field Detail

#### DEFAULT_FONT

    public static final java.awt.Font DEFAULT_FONT

The default font.

#### DEFAULT_PAINT

    public static final java.awt.Paint DEFAULT_PAINT

The default paint.

#### DEFAULT_TEXT_ANCHOR

    public static final org.jfree.ui.TextAnchor DEFAULT_TEXT_ANCHOR

The default text anchor.

#### DEFAULT_ROTATION_ANCHOR

    public static final org.jfree.ui.TextAnchor DEFAULT_ROTATION_ANCHOR

The default rotation anchor.

#### DEFAULT_ROTATION_ANGLE

    public static final double DEFAULT_ROTATION_ANGLE

The default rotation angle.

See Also:
  Constant Field Values

### Constructor Detail

#### XYTextAnnotation

    public XYTextAnnotation(java.lang.String text,
                    double x,
                    double y)

Creates a new annotation to be displayed at the given coordinates. The coordinates are specified in data space (they will be converted to Java2D space for display).

Parameters:
  `text` - the text (`null` not permitted).
  `x` - the x-coordinate (in data space).
  `y` - the y-coordinate (in data space).

### Method Detail

#### getText

    public java.lang.String getText()

Returns the text for the annotation.

Returns:
  The text (never `null`).
See Also:
  `setText(String)`

#### setText

    public void setText(java.lang.String text)

Sets the text for the annotation.

Parameters:
  `text` - the text (`null` not permitted).
See Also:
  `getText()`

#### getFont

    public java.awt.Font getFont()

Returns the font for the annotation.

Returns:
  The font (never `null`).
See Also:
  `setFont(Font)`

#### setFont

    public void setFont(java.awt.Font font)

Sets the font for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `font` - the font (`null` not permitted).
See Also:
  `getFont()`

#### getPaint

    public java.awt.Paint getPaint()

Returns the paint for the annotation.

Returns:
  The paint (never `null`).
See Also:
  `setPaint(Paint)`

#### setPaint

    public void setPaint(java.awt.Paint paint)

Sets the paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getPaint()`

#### getTextAnchor

    public org.jfree.ui.TextAnchor getTextAnchor()

Returns the text anchor.

Returns:
  The text anchor (never `null`).
See Also:
  `setTextAnchor(TextAnchor)`

#### setTextAnchor

    public void setTextAnchor(org.jfree.ui.TextAnchor anchor)

Sets the text anchor (the point on the text bounding rectangle that is aligned to the (x, y) coordinate of the annotation) and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `anchor` - the anchor point (`null` not permitted).
See Also:
  `getTextAnchor()`

#### getRotationAnchor

    public org.jfree.ui.TextAnchor getRotationAnchor()

Returns the rotation anchor.

Returns:
  The rotation anchor point (never `null`).
See Also:
  `setRotationAnchor(TextAnchor)`

#### setRotationAnchor

    public void setRotationAnchor(org.jfree.ui.TextAnchor anchor)

Sets the rotation anchor point and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `anchor` - the anchor (`null` not permitted).
See Also:
  `getRotationAnchor()`

#### getRotationAngle

    public double getRotationAngle()

Returns the rotation angle.

Returns:
  The rotation angle.
See Also:
  `setRotationAngle(double)`

#### setRotationAngle

    public void setRotationAngle(double angle)

Sets the rotation angle and sends an `AnnotationChangeEvent` to all registered listeners. The angle is measured clockwise in radians.

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

#### getX

    public double getX()

Returns the x coordinate for the text anchor point (measured against the domain axis).

Returns:
  The x coordinate (in data space).
See Also:
  `setX(double)`

#### setX

    public void setX(double x)

Sets the x coordinate for the text anchor point (measured against the domain axis) and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `x` - the x coordinate (in data space).
See Also:
  `getX()`

#### getY

    public double getY()

Returns the y coordinate for the text anchor point (measured against the range axis).

Returns:
  The y coordinate (in data space).
See Also:
  `setY(double)`

#### setY

    public void setY(double y)

Sets the y coordinate for the text anchor point (measured against the range axis) and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `y` - the y coordinate.
See Also:
  `getY()`

#### getBackgroundPaint

    public java.awt.Paint getBackgroundPaint()

Returns the background paint for the annotation.

Returns:
  The background paint (possibly `null`).
Since:
  1.0.13
See Also:
  `setBackgroundPaint(Paint)`

#### setBackgroundPaint

    public void setBackgroundPaint(java.awt.Paint paint)

Sets the background paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` permitted).
Since:
  1.0.13
See Also:
  `getBackgroundPaint()`

#### getOutlinePaint

    public java.awt.Paint getOutlinePaint()

Returns the outline paint for the annotation.

Returns:
  The outline paint (never `null`).
Since:
  1.0.13
See Also:
  `setOutlinePaint(Paint)`

#### setOutlinePaint

    public void setOutlinePaint(java.awt.Paint paint)

Sets the outline paint for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
Since:
  1.0.13
See Also:
  `getOutlinePaint()`

#### getOutlineStroke

    public java.awt.Stroke getOutlineStroke()

Returns the outline stroke for the annotation.

Returns:
  The outline stroke (never `null`).
Since:
  1.0.13
See Also:
  `setOutlineStroke(Stroke)`

#### setOutlineStroke

    public void setOutlineStroke(java.awt.Stroke stroke)

Sets the outline stroke for the annotation and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `stroke` - the stroke (`null` not permitted).
Since:
  1.0.13
See Also:
  `getOutlineStroke()`

#### isOutlineVisible

    public boolean isOutlineVisible()

Returns the flag that controls whether or not the outline is drawn.

Returns:
  A boolean.
Since:
  1.0.13

#### setOutlineVisible

    public void setOutlineVisible(boolean visible)

Sets the flag that controls whether or not the outline is drawn and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `visible` - the new flag value.
Since:
  1.0.13

#### 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`
Specified by:
  `draw` in class `AbstractXYAnnotation`
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` - an optional info object that will be populated with entity information.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this annotation for equality with an arbitrary object.

Overrides:
  `equals` in class `AbstractXYAnnotation`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code for the object.

Overrides:
  `hashCode` in class `AbstractXYAnnotation`
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 `AbstractAnnotation`
Returns:
  A clone.
Throws:
  `java.lang.CloneNotSupportedException` - if the annotation can't be cloned.