org.jfree.chart.plot
Class CompassPlot

java.lang.Object
  extended byorg.jfree.chart.plot.Plot
      extended byorg.jfree.chart.plot.CompassPlot
All Implemented Interfaces:
AxisChangeListener, java.lang.Cloneable, DatasetChangeListener, java.util.EventListener, LegendItemSource, java.io.Serializable

public class CompassPlot
extends Plot
implements java.lang.Cloneable, java.io.Serializable

A specialised plot that draws a compass to indicate a direction based on the value from a ValueDataset.

Author:
Bryan Scott
See Also:
Serialized Form

Field Summary
static java.awt.Font DEFAULT_LABEL_FONT
          The default label font.
protected static java.util.ResourceBundle localizationResources
          The resourceBundle for the localization.
static int NO_LABELS
          A constant for the label type.
protected  double revolutionDistance
          The count to complete one revolution.
static int VALUE_LABELS
          A constant for the label type.
 
Fields inherited from class org.jfree.chart.plot.Plot
DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_LEGEND_ITEM_BOX, DEFAULT_LEGEND_ITEM_CIRCLE, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO
 
Constructor Summary
CompassPlot()
          Default constructor.
CompassPlot(ValueDataset dataset)
          Constructs a new compass plot.
 
Method Summary
 void addData(ValueDataset data)
          Adds a dataset to the compass.
 void addData(ValueDataset data, MeterNeedle needle)
          Adds a dataset to the compass.
 java.lang.Object clone()
          Returns a clone of the annotation.
 void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D plotArea, PlotState parentState, PlotRenderingInfo info)
          Draws the plot on a Java 2D graphics device (such as the screen or a printer).
 boolean equals(java.lang.Object obj)
          Tests an object for equality with this plot.
protected  java.awt.Font getCompassFont(int radius)
          Returns the font for the compass.
 ValueDataset[] getData()
          Returns the dataset.
 boolean getDrawBorder()
          Returns a flag that controls whether or not a border is drawn.
 java.awt.Font getLabelFont()
          Returns the label font.
 int getLabelType()
          Returns the label type.
 LegendItemCollection getLegendItems()
          Returns the legend items for the plot.
 java.lang.String getPlotType()
          Returns a short string describing the type of plot.
 double getRevolutionDistance()
          Gets the count to complete one revolution.
 void setDrawBorder(boolean status)
          Sets a flag that controls whether or not a border is drawn.
 void setLabelFont(java.awt.Font font)
          Sets the label font.
 void setLabelType(int type)
          Sets the label type.
 void setRevolutionDistance(double size)
          Sets the count to complete one revolution.
 void setSeriesNeedle(int type)
          Sets the needle type.
 void setSeriesNeedle(int index, int type)
          Sets the needle for a series.
 void setSeriesNeedle(int index, MeterNeedle needle)
          Sets the needle for a series.
 void setSeriesOutlinePaint(int series, java.awt.Paint p)
          Sets the series outline paint.
 void setSeriesOutlineStroke(int series, java.awt.Stroke stroke)
          Sets the series outline stroke.
 void setSeriesPaint(int series, java.awt.Paint paint)
          Sets the series paint.
 void zoom(double percent)
          No zooming is implemented for compass plot, so this method is empty.
 
Methods inherited from class org.jfree.chart.plot.Plot
addChangeListener, axisChanged, datasetChanged, draw, drawBackground, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundPaint, getDataAreaRatio, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, handleClick, isSubplot, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundPaint, setDataAreaRatio, setDatasetGroup, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setParent
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_LABEL_FONT

public static final java.awt.Font DEFAULT_LABEL_FONT
The default label font.


NO_LABELS

public static final int NO_LABELS
A constant for the label type.

See Also:
Constant Field Values

VALUE_LABELS

public static final int VALUE_LABELS
A constant for the label type.

See Also:
Constant Field Values

localizationResources

protected static java.util.ResourceBundle localizationResources
The resourceBundle for the localization.


revolutionDistance

protected double revolutionDistance
The count to complete one revolution. Can be arbitaly set For degrees (the default) it is 360, for radians this is 2*Pi, etc

Constructor Detail

CompassPlot

public CompassPlot()
Default constructor.


CompassPlot

public CompassPlot(ValueDataset dataset)
Constructs a new compass plot.

Parameters:
dataset - the dataset for the plot.
Method Detail

getLabelType

public int getLabelType()
Returns the label type. Defined by the constants: NO_LABELS, VALUE_LABELS.

Returns:
The label type.

setLabelType

public void setLabelType(int type)
Sets the label type.

Valid types are defined by the following constants: NO_LABELS, VALUE_LABELS.

Parameters:
type - the type.

getLabelFont

public java.awt.Font getLabelFont()
Returns the label font.

Returns:
the label font.

setLabelFont

public void setLabelFont(java.awt.Font font)
Sets the label font.

Notifies registered listeners that the plot has been changed.

Parameters:
font - the new label font.

getDrawBorder

public boolean getDrawBorder()
Returns a flag that controls whether or not a border is drawn.

Returns:
the flag.

setDrawBorder

public void setDrawBorder(boolean status)
Sets a flag that controls whether or not a border is drawn.

Parameters:
status - the flag status.

setSeriesPaint

public void setSeriesPaint(int series,
                           java.awt.Paint paint)
Sets the series paint.

Parameters:
series - the series index.
paint - the paint.

setSeriesOutlinePaint

public void setSeriesOutlinePaint(int series,
                                  java.awt.Paint p)
Sets the series outline paint.

Parameters:
series - the series index.
p - the paint.

setSeriesOutlineStroke

public void setSeriesOutlineStroke(int series,
                                   java.awt.Stroke stroke)
Sets the series outline stroke.

Parameters:
series - the series index.
stroke - the stroke.

setSeriesNeedle

public void setSeriesNeedle(int type)
Sets the needle type.

Parameters:
type - the type.

setSeriesNeedle

public void setSeriesNeedle(int index,
                            int type)
Sets the needle for a series.

Parameters:
index - the series index.
type - the needle type.

setSeriesNeedle

public void setSeriesNeedle(int index,
                            MeterNeedle needle)
Sets the needle for a series.

Parameters:
index - the series index.
needle - the needle.

getData

public ValueDataset[] getData()
Returns the dataset.

Provided for convenience.

Returns:
The dataset for the plot, cast as a ValueDataset.

addData

public void addData(ValueDataset data)
Adds a dataset to the compass.

Parameters:
data - the new dataset.

addData

public void addData(ValueDataset data,
                    MeterNeedle needle)
Adds a dataset to the compass.

Parameters:
data - the new dataset.
needle - the needle.

draw

public void draw(java.awt.Graphics2D g2,
                 java.awt.geom.Rectangle2D plotArea,
                 PlotState parentState,
                 PlotRenderingInfo info)
Draws the plot on a Java 2D graphics device (such as the screen or a printer).

Specified by:
draw in class Plot
Parameters:
g2 - the graphics device.
plotArea - the area within which the plot should be drawn.
parentState - the state from the parent plot, if there is one.
info - collects info about the drawing.

getPlotType

public java.lang.String getPlotType()
Returns a short string describing the type of plot.

Specified by:
getPlotType in class Plot
Returns:
a string describing the plot.

getLegendItems

public LegendItemCollection getLegendItems()
Returns the legend items for the plot. For now, no legend is available - this method returns null.

Specified by:
getLegendItems in interface LegendItemSource
Overrides:
getLegendItems in class Plot
Returns:
the legend items.

zoom

public void zoom(double percent)
No zooming is implemented for compass plot, so this method is empty.

Overrides:
zoom in class Plot
Parameters:
percent - the zoom amount.

getCompassFont

protected java.awt.Font getCompassFont(int radius)
Returns the font for the compass.

Parameters:
radius - the radius.
Returns:
the font.

equals

public boolean equals(java.lang.Object obj)
Tests an object for equality with this plot.

Overrides:
equals in class Plot
Parameters:
obj - the object (null permitted).
Returns:
A boolean.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the annotation.

Overrides:
clone in class Plot
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - this class will not throw this exception, but subclasses (if any) might.

setRevolutionDistance

public void setRevolutionDistance(double size)
Sets the count to complete one revolution. Can be arbitaly set For degrees (the default) it is 360, for radians this is 2*Pi, etc

Parameters:
size - the count to complete one revolution.

getRevolutionDistance

public double getRevolutionDistance()
Gets the count to complete one revolution.

Returns:
the count to complete one revolution