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

Constructors
Constructor and Description
`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

Methods
`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)`