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, PublicCloneable

      public class XYTitleAnnotation
      extends AbstractXYAnnotation
      implements java.lang.Cloneable, 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, RectangleAnchor anchor)` Creates a new annotation to be displayed at the specified (x, y) location.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `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,
                                   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 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 `PublicCloneable`
      Overrides:
        `clone` in class `AbstractAnnotation`
      Returns:
        A clone.
      Throws:
        `java.lang.CloneNotSupportedException` - if the annotation can't be cloned.