- java.lang.Object
-
- org.jfree.chart.swing.AbstractOverlay
-
- org.jfree.chart.swing.CrosshairOverlay
-
- All Implemented Interfaces:
PropertyChangeListener,Serializable,Cloneable,EventListener,PublicCloneable,Overlay
public class CrosshairOverlay extends AbstractOverlay implements Overlay, PropertyChangeListener, PublicCloneable, Cloneable, Serializable
An overlay for aChartPanelthat draws crosshairs on a chart. If you are using the JavaFX extensions for JFreeChart, then you should use theCrosshairOverlayFXclass.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Crosshair>xCrosshairsStorage for the crosshairs along the x-axis.protected List<Crosshair>yCrosshairsStorage for the crosshairs along the y-axis.
-
Constructor Summary
Constructors Constructor Description CrosshairOverlay()Creates a new overlay that initially contains no crosshairs.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDomainCrosshair(Crosshair crosshair)Adds a crosshair against the domain axis (x-axis) and sends anOverlayChangeEventto all registered listeners.voidaddRangeCrosshair(Crosshair crosshair)Adds a crosshair against the range axis and sends anOverlayChangeEventto all registered listeners.voidclearDomainCrosshairs()Clears all the domain crosshairs from the overlay and sends anOverlayChangeEventto all registered listeners (unless there were no crosshairs to begin with).voidclearRangeCrosshairs()Clears all the range crosshairs from the overlay and sends anOverlayChangeEventto all registered listeners (unless there were no crosshairs to begin with).Objectclone()Returns a clone of this instance.protected voiddrawHorizontalCrosshair(Graphics2D g2, Rectangle2D dataArea, double y, Crosshair crosshair)Draws a crosshair horizontally across the plot.protected voiddrawVerticalCrosshair(Graphics2D g2, Rectangle2D dataArea, double x, Crosshair crosshair)Draws a crosshair vertically on the plot.booleanequals(Object obj)Tests this overlay for equality with an arbitrary object.List<Crosshair>getDomainCrosshairs()Returns a new list containing the domain crosshairs for this overlay.List<Crosshair>getRangeCrosshairs()Returns a new list containing the range crosshairs for this overlay.voidpaintOverlay(Graphics2D g2, ChartPanel chartPanel)Renders the crosshairs in the overlay on top of the chart that has just been rendered in the specifiedchartPanel.voidpropertyChange(PropertyChangeEvent e)Receives a property change event (typically a change in one of the crosshairs).voidremoveDomainCrosshair(Crosshair crosshair)Removes a domain axis crosshair and sends anOverlayChangeEventto all registered listeners.voidremoveRangeCrosshair(Crosshair crosshair)Removes a range axis crosshair and sends anOverlayChangeEventto all registered listeners.-
Methods inherited from class org.jfree.chart.swing.AbstractOverlay
addChangeListener, fireOverlayChanged, notifyListeners, removeChangeListener
-
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jfree.chart.swing.Overlay
addChangeListener, removeChangeListener
-
-
-
-
Field Detail
-
xCrosshairs
protected List<Crosshair> xCrosshairs
Storage for the crosshairs along the x-axis.
-
yCrosshairs
protected List<Crosshair> yCrosshairs
Storage for the crosshairs along the y-axis.
-
-
Constructor Detail
-
CrosshairOverlay
public CrosshairOverlay()
Creates a new overlay that initially contains no crosshairs.
-
-
Method Detail
-
addDomainCrosshair
public void addDomainCrosshair(Crosshair crosshair)
Adds a crosshair against the domain axis (x-axis) and sends anOverlayChangeEventto all registered listeners.- Parameters:
crosshair- the crosshair (nullnot permitted).- See Also:
removeDomainCrosshair(org.jfree.chart.plot.Crosshair),addRangeCrosshair(org.jfree.chart.plot.Crosshair)
-
removeDomainCrosshair
public void removeDomainCrosshair(Crosshair crosshair)
Removes a domain axis crosshair and sends anOverlayChangeEventto all registered listeners.- Parameters:
crosshair- the crosshair (nullnot permitted).- See Also:
addDomainCrosshair(org.jfree.chart.plot.Crosshair)
-
clearDomainCrosshairs
public void clearDomainCrosshairs()
Clears all the domain crosshairs from the overlay and sends anOverlayChangeEventto all registered listeners (unless there were no crosshairs to begin with).
-
getDomainCrosshairs
public List<Crosshair> getDomainCrosshairs()
Returns a new list containing the domain crosshairs for this overlay.- Returns:
- A list of crosshairs.
-
addRangeCrosshair
public void addRangeCrosshair(Crosshair crosshair)
Adds a crosshair against the range axis and sends anOverlayChangeEventto all registered listeners.- Parameters:
crosshair- the crosshair (nullnot permitted).
-
removeRangeCrosshair
public void removeRangeCrosshair(Crosshair crosshair)
Removes a range axis crosshair and sends anOverlayChangeEventto all registered listeners.- Parameters:
crosshair- the crosshair (nullnot permitted).- See Also:
addRangeCrosshair(org.jfree.chart.plot.Crosshair)
-
clearRangeCrosshairs
public void clearRangeCrosshairs()
Clears all the range crosshairs from the overlay and sends anOverlayChangeEventto all registered listeners (unless there were no crosshairs to begin with).
-
getRangeCrosshairs
public List<Crosshair> getRangeCrosshairs()
Returns a new list containing the range crosshairs for this overlay.- Returns:
- A list of crosshairs.
-
propertyChange
public void propertyChange(PropertyChangeEvent e)
Receives a property change event (typically a change in one of the crosshairs).- Specified by:
propertyChangein interfacePropertyChangeListener- Parameters:
e- the event.
-
paintOverlay
public void paintOverlay(Graphics2D g2, ChartPanel chartPanel)
Renders the crosshairs in the overlay on top of the chart that has just been rendered in the specifiedchartPanel. This method is called by the JFreeChart framework, you won't normally call it from user code.- Specified by:
paintOverlayin interfaceOverlay- Parameters:
g2- the graphics target.chartPanel- the chart panel.
-
drawHorizontalCrosshair
protected void drawHorizontalCrosshair(Graphics2D g2, Rectangle2D dataArea, double y, Crosshair crosshair)
Draws a crosshair horizontally across the plot.- Parameters:
g2- the graphics target.dataArea- the data area.y- the y-value in Java2D space.crosshair- the crosshair.
-
drawVerticalCrosshair
protected void drawVerticalCrosshair(Graphics2D g2, Rectangle2D dataArea, double x, Crosshair crosshair)
Draws a crosshair vertically on the plot.- Parameters:
g2- the graphics target.dataArea- the data area.x- the x-value in Java2D space.crosshair- the crosshair.
-
clone
public Object clone() throws CloneNotSupportedException
Returns a clone of this instance.- Specified by:
clonein interfacePublicCloneable- Overrides:
clonein classObject- Returns:
- A clone of this instance.
- Throws:
CloneNotSupportedException- if there is some problem with the cloning.
-
-