## org.jfree.chart.plot
Class Crosshair

    java.lang.Object
      org.jfree.chart.plot.Crosshair

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

    public class Crosshair

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

A crosshair for display on a plot.

Since:
  1.0.13
See Also:
  Serialized Form

Constructor Summary
`Crosshair()` Creates a new crosshair with value 0.0.
`Crosshair(double value)` Creates a new crosshair with the specified value.
`Crosshair(double value, java.awt.Paint paint, java.awt.Stroke stroke)` Creates a new crosshair value with the specified value and line style.

Method Summary
`void` `addPropertyChangeListener(java.beans.PropertyChangeListener l)` Adds a property change listener.
`java.lang.Object` `clone()` Returns an independent copy of this instance.
`boolean` `equals(java.lang.Object obj)` Tests this crosshair for equality with an arbitrary object.
`org.jfree.ui.RectangleAnchor` `getLabelAnchor()` Returns the label anchor point.
`java.awt.Paint` `getLabelBackgroundPaint()` Returns the label background paint.
`java.awt.Font` `getLabelFont()` Returns the label font.
`CrosshairLabelGenerator` `getLabelGenerator()` Returns the crosshair label generator.
`java.awt.Paint` `getLabelOutlinePaint()` Returns the label outline paint.
`java.awt.Stroke` `getLabelOutlineStroke()` Returns the label outline stroke.
`java.awt.Paint` `getLabelPaint()` Returns the label paint.
`double` `getLabelXOffset()` Returns the x-offset for the label (in Java2D units).
`double` `getLabelYOffset()` Returns the y-offset for the label (in Java2D units).
`java.awt.Paint` `getPaint()` Returns the paint for the crosshair line.
`java.awt.Stroke` `getStroke()` Returns the stroke for the crosshair line.
`double` `getValue()` Returns the crosshair value.
`int` `hashCode()` Returns a hash code for this instance.
`boolean` `isLabelOutlineVisible()` Returns the flag that controls the visibility of the label outline.
`boolean` `isLabelVisible()` Returns the flag that controls whether or not a label is drawn for this crosshair.
`boolean` `isVisible()` Returns the flag that indicates whether or not the crosshair is currently visible.
`void` `removePropertyChangeListener(java.beans.PropertyChangeListener l)` Removes a property change listener.
`void` `setLabelAnchor(org.jfree.ui.RectangleAnchor anchor)` Sets the label anchor point and sends a property change event (with the name 'labelAnchor') to all registered listeners.
`void` `setLabelBackgroundPaint(java.awt.Paint paint)` Sets the label background paint and sends a property change event with the name 'labelBackgroundPaint') to all registered listeners.
`void` `setLabelFont(java.awt.Font font)` Sets the label font and sends a property change event (with the name 'labelFont') to all registered listeners.
`void` `setLabelGenerator(CrosshairLabelGenerator generator)` Sets the crosshair label generator and sends a property change event (with the name 'labelGenerator') to all registered listeners.
`void` `setLabelOutlinePaint(java.awt.Paint paint)` Sets the label outline paint and sends a property change event (with the name "labelOutlinePaint") to all registered listeners.
`void` `setLabelOutlineStroke(java.awt.Stroke stroke)` Sets the label outline stroke and sends a property change event (with the name 'labelOutlineStroke') to all registered listeners.
`void` `setLabelOutlineVisible(boolean visible)` Sets the flag that controls the visibility of the label outlines and sends a property change event (with the name "labelOutlineVisible") to all registered listeners.
`void` `setLabelPaint(java.awt.Paint paint)` Sets the label paint and sends a property change event (with the name 'labelPaint') to all registered listeners.
`void` `setLabelVisible(boolean visible)` Sets the flag that controls whether or not a label is drawn for the crosshair and sends a property change event (with the name 'labelVisible') to all registered listeners.
`void` `setLabelXOffset(double offset)` Sets the x-offset and sends a property change event (with the name 'labelXOffset') to all registered listeners.
`void` `setLabelYOffset(double offset)` Sets the y-offset and sends a property change event (with the name 'labelYOffset') to all registered listeners.
`void` `setPaint(java.awt.Paint paint)` Sets the paint for the crosshair line and sends a property change event with the name "paint" to all registered listeners.
`void` `setStroke(java.awt.Stroke stroke)` Sets the stroke for the crosshair line and sends a property change event with the name "stroke" to all registered listeners.
`void` `setValue(double value)` Sets the crosshair value and sends a property change event with the name 'value' to all registered listeners.
`void` `setVisible(boolean visible)` Sets the flag that controls the visibility of the crosshair and sends a proerty change event (with the name 'visible') to all registered listeners.

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Crosshair

    public Crosshair()

  Creates a new crosshair with value 0.0.

### Crosshair

    public Crosshair(double value)

  Creates a new crosshair with the specified value.

  Parameters:
    `value` - the value.

### Crosshair

    public Crosshair(double value,
                     java.awt.Paint paint,
                     java.awt.Stroke stroke)

  Creates a new crosshair value with the specified value and line style.

  Parameters:
    `value` - the value.
    `paint` - the line paint (`null` not permitted).
    `stroke` - the line stroke (`null` not permitted).

Method Detail

### isVisible

    public boolean isVisible()

  Returns the flag that indicates whether or not the crosshair is currently visible.

  Returns:
    A boolean.
  See Also:
    `setVisible(boolean)`

### setVisible

    public void setVisible(boolean visible)

  Sets the flag that controls the visibility of the crosshair and sends a proerty change event (with the name 'visible') to all registered listeners.

  Parameters:
    `visible` - the new flag value.
  See Also:
    `isVisible()`

### getValue

    public double getValue()

  Returns the crosshair value.

  Returns:
    The crosshair value.
  See Also:
    `setValue(double)`

### setValue

    public void setValue(double value)

  Sets the crosshair value and sends a property change event with the name 'value' to all registered listeners.

  Parameters:
    `value` - the value.
  See Also:
    `getValue()`

### getPaint

    public java.awt.Paint getPaint()

  Returns the paint for the crosshair line.

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

### setPaint

    public void setPaint(java.awt.Paint paint)

  Sets the paint for the crosshair line and sends a property change event with the name "paint" to all registered listeners.

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

### getStroke

    public java.awt.Stroke getStroke()

  Returns the stroke for the crosshair line.

  Returns:
    The stroke (never `null`).
  See Also:
    `setStroke(java.awt.Stroke)`

### setStroke

    public void setStroke(java.awt.Stroke stroke)

  Sets the stroke for the crosshair line and sends a property change event with the name "stroke" to all registered listeners.

  Parameters:
    `stroke` - the stroke (`null` not permitted).
  See Also:
    `getStroke()`

### isLabelVisible

    public boolean isLabelVisible()

  Returns the flag that controls whether or not a label is drawn for this crosshair.

  Returns:
    A boolean.
  See Also:
    `setLabelVisible(boolean)`

### setLabelVisible

    public void setLabelVisible(boolean visible)

  Sets the flag that controls whether or not a label is drawn for the crosshair and sends a property change event (with the name 'labelVisible') to all registered listeners.

  Parameters:
    `visible` - the new flag value.
  See Also:
    `isLabelVisible()`

### getLabelGenerator

    public CrosshairLabelGenerator getLabelGenerator()

  Returns the crosshair label generator.

  Returns:
    The label crosshair generator (never `null`).
  See Also:
    `setLabelGenerator(org.jfree.chart.labels.CrosshairLabelGenerator)`

### setLabelGenerator

    public void setLabelGenerator(CrosshairLabelGenerator generator)

  Sets the crosshair label generator and sends a property change event (with the name 'labelGenerator') to all registered listeners.

  Parameters:
    `generator` - the new generator (`null` not permitted).
  See Also:
    `getLabelGenerator()`

### getLabelAnchor

    public org.jfree.ui.RectangleAnchor getLabelAnchor()

  Returns the label anchor point.

  Returns:
    the label anchor point (never `null`.
  See Also:
    `setLabelAnchor(org.jfree.ui.RectangleAnchor)`

### setLabelAnchor

    public void setLabelAnchor(org.jfree.ui.RectangleAnchor anchor)

  Sets the label anchor point and sends a property change event (with the name 'labelAnchor') to all registered listeners.

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

### getLabelXOffset

    public double getLabelXOffset()

  Returns the x-offset for the label (in Java2D units).

  Returns:
    The x-offset.
  See Also:
    `setLabelXOffset(double)`

### setLabelXOffset

    public void setLabelXOffset(double offset)

  Sets the x-offset and sends a property change event (with the name 'labelXOffset') to all registered listeners.

  Parameters:
    `offset` - the new offset.
  See Also:
    `getLabelXOffset()`

### getLabelYOffset

    public double getLabelYOffset()

  Returns the y-offset for the label (in Java2D units).

  Returns:
    The y-offset.
  See Also:
    `setLabelYOffset(double)`

### setLabelYOffset

    public void setLabelYOffset(double offset)

  Sets the y-offset and sends a property change event (with the name 'labelYOffset') to all registered listeners.

  Parameters:
    `offset` - the new offset.
  See Also:
    `getLabelYOffset()`

### getLabelFont

    public java.awt.Font getLabelFont()

  Returns the label font.

  Returns:
    The label font (never `null`).
  See Also:
    `setLabelFont(java.awt.Font)`

### setLabelFont

    public void setLabelFont(java.awt.Font font)

  Sets the label font and sends a property change event (with the name 'labelFont') to all registered listeners.

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

### getLabelPaint

    public java.awt.Paint getLabelPaint()

  Returns the label paint.

  Returns:
    The label paint (never `null`).
  See Also:
    `setLabelPaint(java.awt.Paint)`

### setLabelPaint

    public void setLabelPaint(java.awt.Paint paint)

  Sets the label paint and sends a property change event (with the name 'labelPaint') to all registered listeners.

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

### getLabelBackgroundPaint

    public java.awt.Paint getLabelBackgroundPaint()

  Returns the label background paint.

  Returns:
    The label background paint (possibly `null`).
  See Also:
    `setLabelBackgroundPaint(java.awt.Paint)`

### setLabelBackgroundPaint

    public void setLabelBackgroundPaint(java.awt.Paint paint)

  Sets the label background paint and sends a property change event with the name 'labelBackgroundPaint') to all registered listeners.

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

### isLabelOutlineVisible

    public boolean isLabelOutlineVisible()

  Returns the flag that controls the visibility of the label outline.

  Returns:
    A boolean.
  See Also:
    `setLabelOutlineVisible(boolean)`

### setLabelOutlineVisible

    public void setLabelOutlineVisible(boolean visible)

  Sets the flag that controls the visibility of the label outlines and sends a property change event (with the name "labelOutlineVisible") to all registered listeners.

  Parameters:
    `visible` - the new flag value.
  See Also:
    `isLabelOutlineVisible()`

### getLabelOutlinePaint

    public java.awt.Paint getLabelOutlinePaint()

  Returns the label outline paint.

  Returns:
    The label outline paint (never `null`).
  See Also:
    `setLabelOutlinePaint(java.awt.Paint)`

### setLabelOutlinePaint

    public void setLabelOutlinePaint(java.awt.Paint paint)

  Sets the label outline paint and sends a property change event (with the name "labelOutlinePaint") to all registered listeners.

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

### getLabelOutlineStroke

    public java.awt.Stroke getLabelOutlineStroke()

  Returns the label outline stroke.

  Returns:
    The label outline stroke (never `null`).
  See Also:
    `setLabelOutlineStroke(java.awt.Stroke)`

### setLabelOutlineStroke

    public void setLabelOutlineStroke(java.awt.Stroke stroke)

  Sets the label outline stroke and sends a property change event (with the name 'labelOutlineStroke') to all registered listeners.

  Parameters:
    `stroke` - the stroke (`null` not permitted).
  See Also:
    `getLabelOutlineStroke()`

### equals

    public boolean equals(java.lang.Object obj)

  Tests this crosshair for equality with an arbitrary object.

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

### hashCode

    public int hashCode()

  Returns a hash code for this instance.

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    A hash code.

### clone

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

  Returns an independent copy of this instance.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    An independent copy of this instance.
  Throws:
    `java.lang.CloneNotSupportedException`

### addPropertyChangeListener

    public void addPropertyChangeListener(java.beans.PropertyChangeListener l)

  Adds a property change listener.

  Parameters:
    `l` - the listener.
  See Also:
    `removePropertyChangeListener(java.beans.PropertyChangeListener)`

### removePropertyChangeListener

    public void removePropertyChangeListener(java.beans.PropertyChangeListener l)

  Removes a property change listener.

  Parameters:
    `l` - the listener.
  See Also:
    `addPropertyChangeListener(java.beans.PropertyChangeListener)`