org.jfree.chart.annotations

## Class XYTitleAnnotation

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

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

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

An annotation that allows any `Title` to be placed at a location on an `XYPlot`.

Since:
  1.0.11
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`XYTitleAnnotation(double x, double y, Title title)` Creates a new annotation to be displayed at the specified (x, y) location.
`XYTitleAnnotation(double x, double y, Title title, org.jfree.ui.RectangleAnchor anchor)` Creates a new annotation to be displayed at the specified (x, y) location.

### 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 object for equality with an arbitrary object.
`XYCoordinateType` `getCoordinateType()` Returns the coordinate type (set in the constructor).
`double` `getMaxHeight()` Returns the maximum height.
`double` `getMaxWidth()` Returns the maximum width.
`Title` `getTitle()` Returns the title for the annotation.
`org.jfree.ui.RectangleAnchor` `getTitleAnchor()` Returns the title anchor for the annotation.
`double` `getX()` Returns the x-coordinate for the annotation.
`double` `getY()` Returns the y-coordinate for the annotation.
`int` `hashCode()` Returns a hash code for this object.
`void` `setMaxHeight(double max)` Sets the maximum height and sends an `AnnotationChangeEvent` to all registered listeners.
`void` `setMaxWidth(double max)` Sets the maximum width 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`

### Constructor Detail

#### XYTitleAnnotation

    public XYTitleAnnotation(double x,
                     double y,
                     Title title)

Creates a new annotation to be displayed at the specified (x, y) location.

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

#### XYTitleAnnotation

    public XYTitleAnnotation(double x,
                     double y,
                     Title title,
                     org.jfree.ui.RectangleAnchor anchor)

Creates a new annotation to be displayed at the specified (x, y) location.

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

### Method Detail

#### getCoordinateType

    public XYCoordinateType getCoordinateType()

Returns the coordinate type (set in the constructor).

Returns:
  The coordinate type (never `null`).

#### getX

    public double getX()

Returns the x-coordinate for the annotation.

Returns:
  The x-coordinate.

#### getY

    public double getY()

Returns the y-coordinate for the annotation.

Returns:
  The y-coordinate.

#### getTitle

    public Title getTitle()

Returns the title for the annotation.

Returns:
  The title.

#### getTitleAnchor

    public org.jfree.ui.RectangleAnchor getTitleAnchor()

Returns the title anchor for the annotation.

Returns:
  The title anchor.

#### getMaxWidth

    public double getMaxWidth()

Returns the maximum width.

Returns:
  The maximum width.

#### setMaxWidth

    public void setMaxWidth(double max)

Sets the maximum width and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `max` - the maximum width (0.0 or less means no maximum).

#### getMaxHeight

    public double getMaxHeight()

Returns the maximum height.

Returns:
  The maximum height.

#### setMaxHeight

    public void setMaxHeight(double max)

Sets the maximum height and sends an `AnnotationChangeEvent` to all registered listeners.

Parameters:
  `max` - the maximum height.

#### 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. This method is called by the drawing code in the `XYPlot` class, you don't normally need to call this method directly.

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` - if supplied, this info object will be populated with entity information.

#### equals

    public boolean equals(java.lang.Object obj)

Tests this object 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 this 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.