## org.jfree.chart.annotations
Class XYBoxAnnotation

    java.lang.Object
      org.jfree.chart.annotations.AbstractXYAnnotation
          org.jfree.chart.annotations.XYBoxAnnotation

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

    public class XYBoxAnnotation

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

A box annotation that can be placed on an `XYPlot`. The box coordinates are specified in data space.

See Also:
  Serialized Form

Constructor Summary
`XYBoxAnnotation(double x0, double y0, double x1, double y1)` Creates a new annotation (where, by default, the box is drawn with a black outline).
`XYBoxAnnotation(double x0, double y0, double x1, double y1, java.awt.Stroke stroke, java.awt.Paint outlinePaint)` Creates a new annotation where the box is drawn as an outline using the specified `stroke` and `outlinePaint`.
`XYBoxAnnotation(double x0, double y0, double x1, double y1, java.awt.Stroke stroke, java.awt.Paint outlinePaint, java.awt.Paint fillPaint)` Creates a new annotation.

Method Summary
`java.lang.Object` `clone()` Returns a clone.
`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.
`int` `hashCode()` Returns a hash code.

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`

Constructor Detail

### XYBoxAnnotation

    public XYBoxAnnotation(double x0,
                           double y0,
                           double x1,
                           double y1)

  Creates a new annotation (where, by default, the box is drawn with a black outline).

  Parameters:
    `x0` - the lower x-coordinate of the box (in data space).
    `y0` - the lower y-coordinate of the box (in data space).
    `x1` - the upper x-coordinate of the box (in data space).
    `y1` - the upper y-coordinate of the box (in data space).

### XYBoxAnnotation

    public XYBoxAnnotation(double x0,
                           double y0,
                           double x1,
                           double y1,
                           java.awt.Stroke stroke,
                           java.awt.Paint outlinePaint)

  Creates a new annotation where the box is drawn as an outline using the specified `stroke` and `outlinePaint`.

  Parameters:
    `x0` - the lower x-coordinate of the box (in data space).
    `y0` - the lower y-coordinate of the box (in data space).
    `x1` - the upper x-coordinate of the box (in data space).
    `y1` - the upper y-coordinate of the box (in data space).
    `stroke` - the shape stroke (`null` permitted).
    `outlinePaint` - the shape color (`null` permitted).

### XYBoxAnnotation

    public XYBoxAnnotation(double x0,
                           double y0,
                           double x1,
                           double y1,
                           java.awt.Stroke stroke,
                           java.awt.Paint outlinePaint,
                           java.awt.Paint fillPaint)

  Creates a new annotation.

  Parameters:
    `x0` - the lower x-coordinate of the box (in data space).
    `y0` - the lower y-coordinate of the box (in data space).
    `x1` - the upper x-coordinate of the box (in data space).
    `y1` - the upper y-coordinate of the box (in data space).
    `stroke` - the shape stroke (`null` permitted).
    `outlinePaint` - the shape color (`null` permitted).
    `fillPaint` - the paint used to fill the shape (`null` permitted).

Method Detail

### 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 usually called by the `XYPlot` class, you shouldn't need to call it 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` - 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 `AbstractXYAnnotation`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### hashCode

    public int hashCode()

  Returns a hash code.

  Overrides:
    `hashCode` in class `AbstractXYAnnotation`
  Returns:
    A hash code.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - not thrown by this class, but may be by subclasses.