Package org.jfree.chart.annotations
Class XYPolygonAnnotation
- java.lang.Object
-
- org.jfree.chart.annotations.AbstractAnnotation
-
- org.jfree.chart.annotations.AbstractXYAnnotation
-
- org.jfree.chart.annotations.XYPolygonAnnotation
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Annotation
,XYAnnotation
,PublicCloneable
public class XYPolygonAnnotation extends AbstractXYAnnotation implements java.lang.Cloneable, PublicCloneable, java.io.Serializable
A polygon annotation that can be placed on anXYPlot
. The polygon coordinates are specified in data space.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Paint
fillPaint
The paint used to fill the box.private java.awt.Paint
outlinePaint
The paint used to draw the box outline.private double[]
polygon
The polygon.private static long
serialVersionUID
For serialization.private java.awt.Stroke
stroke
The stroke used to draw the box outline.
-
Constructor Summary
Constructors Constructor Description XYPolygonAnnotation(double[] polygon)
Creates a new annotation (where, by default, the polygon is drawn with a black outline).XYPolygonAnnotation(double[] polygon, java.awt.Stroke stroke, java.awt.Paint outlinePaint)
Creates a new annotation where the box is drawn as an outline using the specifiedstroke
andoutlinePaint
.XYPolygonAnnotation(double[] polygon, java.awt.Stroke stroke, java.awt.Paint outlinePaint, java.awt.Paint fillPaint)
Creates a new annotation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canEqual(java.lang.Object other)
Ensures symmetry between super/subclass implementations of equals.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.java.awt.Paint
getFillPaint()
Returns the fill paint.java.awt.Paint
getOutlinePaint()
Returns the outline paint.java.awt.Stroke
getOutlineStroke()
Returns the outline stroke.double[]
getPolygonCoordinates()
Returns the coordinates of the polygon's vertices.int
hashCode()
Returns a hash code for this instance.private void
readObject(java.io.ObjectInputStream stream)
Provides serialization support.private void
writeObject(java.io.ObjectOutputStream stream)
Provides serialization support.-
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization.- See Also:
- Constant Field Values
-
polygon
private double[] polygon
The polygon.
-
stroke
private transient java.awt.Stroke stroke
The stroke used to draw the box outline.
-
outlinePaint
private transient java.awt.Paint outlinePaint
The paint used to draw the box outline.
-
fillPaint
private transient java.awt.Paint fillPaint
The paint used to fill the box.
-
-
Constructor Detail
-
XYPolygonAnnotation
public XYPolygonAnnotation(double[] polygon)
Creates a new annotation (where, by default, the polygon is drawn with a black outline). The array of polygon coordinates must contain an even number of coordinates (each pair is an (x, y) location on the plot) and the last point is automatically joined back to the first point.- Parameters:
polygon
- the coordinates of the polygon's vertices (null
not permitted).
-
XYPolygonAnnotation
public XYPolygonAnnotation(double[] polygon, java.awt.Stroke stroke, java.awt.Paint outlinePaint)
Creates a new annotation where the box is drawn as an outline using the specifiedstroke
andoutlinePaint
. The array of polygon coordinates must contain an even number of coordinates (each pair is an (x, y) location on the plot) and the last point is automatically joined back to the first point.- Parameters:
polygon
- the coordinates of the polygon's vertices (null
not permitted).stroke
- the shape stroke (null
permitted).outlinePaint
- the shape color (null
permitted).
-
XYPolygonAnnotation
public XYPolygonAnnotation(double[] polygon, java.awt.Stroke stroke, java.awt.Paint outlinePaint, java.awt.Paint fillPaint)
Creates a new annotation. The array of polygon coordinates must contain an even number of coordinates (each pair is an (x, y) location on the plot) and the last point is automatically joined back to the first point.- Parameters:
polygon
- the coordinates of the polygon's vertices (null
not permitted).stroke
- the shape stroke (null
permitted).outlinePaint
- the shape color (null
permitted).fillPaint
- the paint used to fill the shape (null
permitted).
-
-
Method Detail
-
getPolygonCoordinates
public double[] getPolygonCoordinates()
Returns the coordinates of the polygon's vertices. The returned array is a copy, so it is safe to modify without altering the annotation's state.- Returns:
- The coordinates of the polygon's vertices.
-
getFillPaint
public java.awt.Paint getFillPaint()
Returns the fill paint.- Returns:
- The fill paint (possibly
null
).
-
getOutlineStroke
public java.awt.Stroke getOutlineStroke()
Returns the outline stroke.- Returns:
- The outline stroke (possibly
null
).
-
getOutlinePaint
public java.awt.Paint getOutlinePaint()
Returns the outline paint.- Returns:
- The outline paint (possibly
null
).
-
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 theXYPlot
class, you shouldn't need to call it directly.- Specified by:
draw
in interfaceXYAnnotation
- Specified by:
draw
in classAbstractXYAnnotation
- 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 classAbstractXYAnnotation
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
canEqual
public boolean canEqual(java.lang.Object other)
Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.- Overrides:
canEqual
in classAbstractXYAnnotation
- Parameters:
other
- Object- Returns:
- true ONLY if the parameter is THIS class type
-
hashCode
public int hashCode()
Returns a hash code for this instance.- Overrides:
hashCode
in classAbstractXYAnnotation
- Returns:
- A hash code.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractAnnotation
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- not thrown by this class, but may be by subclasses.
-
writeObject
private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
Provides serialization support.- Parameters:
stream
- the output stream (null
not permitted).- Throws:
java.io.IOException
- if there is an I/O error.
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, java.lang.ClassNotFoundException
Provides serialization support.- Parameters:
stream
- the input stream (null
not permitted).- Throws:
java.io.IOException
- if there is an I/O error.java.lang.ClassNotFoundException
- if there is a classpath problem.
-
-