Class CompassPlot

java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.CompassPlot
All Implemented Interfaces:
Serializable, Cloneable, EventListener, AnnotationChangeListener, AxisChangeListener, MarkerChangeListener, LegendItemSource, PublicCloneable, DatasetChangeListener

public class CompassPlot extends Plot implements Cloneable, Serializable
A specialised plot that draws a compass to indicate a direction based on the value from a ValueDataset.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • DEFAULT_LABEL_FONT

      public static final Font DEFAULT_LABEL_FONT
      The default label font.
    • NO_LABELS

      public static final int NO_LABELS
      A constant for the label type.
      See Also:
    • VALUE_LABELS

      public static final int VALUE_LABELS
      A constant for the label type.
      See Also:
    • labelType

      private int labelType
      The label type (NO_LABELS, VALUE_LABELS).
    • labelFont

      private Font labelFont
      The label font.
    • drawBorder

      private boolean drawBorder
      A flag that controls whether or not a border is drawn.
    • roseHighlightPaint

      private transient Paint roseHighlightPaint
      The rose highlight paint.
    • rosePaint

      private transient Paint rosePaint
      The rose paint.
    • roseCenterPaint

      private transient Paint roseCenterPaint
      The rose center paint.
    • compassFont

      private Font compassFont
      The compass font.
    • circle1

      private transient Ellipse2D circle1
      A working shape.
    • circle2

      private transient Ellipse2D circle2
      A working shape.
    • a1

      private transient Area a1
      A working area.
    • a2

      private transient Area a2
      A working area.
    • rect1

      private transient Rectangle2D rect1
      A working shape.
    • datasets

      private ValueDataset[] datasets
      An array of value datasets.
    • seriesNeedle

      private MeterNeedle[] seriesNeedle
      An array of needles.
    • localizationResources

      protected static ResourceBundle localizationResources
      The resourceBundle for the localization.
    • revolutionDistance

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

    • CompassPlot

      public CompassPlot()
      Default constructor.
    • CompassPlot

      public CompassPlot(ValueDataset dataset)
      Constructs a new compass plot.
      Parameters:
      dataset - the dataset for the plot (null permitted).
  • Method Details

    • getLabelType

      public int getLabelType()
      Returns the label type. Defined by the constants: NO_LABELS and VALUE_LABELS.
      Returns:
      The label type.
      See Also:
    • setLabelType

      public void setLabelType(int type)
      Sets the label type (either NO_LABELS or VALUE_LABELS.
      Parameters:
      type - the type.
      See Also:
    • getLabelFont

      public Font getLabelFont()
      Returns the label font.
      Returns:
      The label font.
      See Also:
    • setLabelFont

      public void setLabelFont(Font font)
      Sets the label font and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      font - the new label font.
      See Also:
    • getRosePaint

      public Paint getRosePaint()
      Returns the paint used to fill the outer circle of the compass.
      Returns:
      The paint (never null).
      See Also:
    • setRosePaint

      public void setRosePaint(Paint paint)
      Sets the paint used to fill the outer circle of the compass, and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • getRoseCenterPaint

      public Paint getRoseCenterPaint()
      Returns the paint used to fill the inner background area of the compass.
      Returns:
      The paint (never null).
      See Also:
    • setRoseCenterPaint

      public void setRoseCenterPaint(Paint paint)
      Sets the paint used to fill the inner background area of the compass, and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • getRoseHighlightPaint

      public Paint getRoseHighlightPaint()
      Returns the paint used to draw the circles, symbols and labels on the compass.
      Returns:
      The paint (never null).
      See Also:
    • setRoseHighlightPaint

      public void setRoseHighlightPaint(Paint paint)
      Sets the paint used to draw the circles, symbols and labels of the compass, and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      paint - the paint (null not permitted).
      See Also:
    • getDrawBorder

      public boolean getDrawBorder()
      Returns a flag that controls whether or not a border is drawn.
      Returns:
      The flag.
      See Also:
    • setDrawBorder

      public void setDrawBorder(boolean status)
      Sets a flag that controls whether or not a border is drawn.
      Parameters:
      status - the flag status.
      See Also:
    • setSeriesPaint

      public void setSeriesPaint(int series, Paint paint)
      Sets the series paint.
      Parameters:
      series - the series index.
      paint - the paint.
      See Also:
    • setSeriesOutlinePaint

      public void setSeriesOutlinePaint(int series, Paint p)
      Sets the series outline paint.
      Parameters:
      series - the series index.
      p - the paint.
      See Also:
    • setSeriesOutlineStroke

      public void setSeriesOutlineStroke(int series, Stroke stroke)
      Sets the series outline stroke.
      Parameters:
      series - the series index.
      stroke - the stroke.
      See Also:
    • setSeriesNeedle

      public void setSeriesNeedle(int type)
      Sets the needle type.
      Parameters:
      type - the type.
      See Also:
    • setSeriesNeedle

      public void setSeriesNeedle(int index, int type)
      Sets the needle for a series. The needle type is one of the following:
      Parameters:
      index - the series index.
      type - the needle type.
      See Also:
    • setSeriesNeedle

      public void setSeriesNeedle(int index, MeterNeedle needle)
      Sets the needle for a series and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      index - the series index.
      needle - the needle.
    • getDatasets

      public ValueDataset[] getDatasets()
      Returns an array of dataset references for the plot.
      Returns:
      The dataset for the plot, cast as a ValueDataset.
      See Also:
    • addDataset

      public void addDataset(ValueDataset dataset)
      Adds a dataset to the compass.
      Parameters:
      dataset - the new dataset (null ignored).
      See Also:
    • addDataset

      public void addDataset(ValueDataset dataset, MeterNeedle needle)
      Adds a dataset to the compass.
      Parameters:
      dataset - the new dataset (null ignored).
      needle - the needle (null permitted).
    • draw

      public void draw(Graphics2D g2, Rectangle2D area, Point2D anchor, 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.
      area - the area within which the plot should be drawn.
      anchor - the anchor point (null permitted).
      parentState - the state from the parent plot, if there is one.
      info - collects info about the drawing.
    • getPlotType

      public 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 Font getCompassFont(int radius)
      Returns the font for the compass, adjusted for the size of the plot.
      Parameters:
      radius - the radius.
      Returns:
      The font.
    • equals

      public boolean equals(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 Object clone() throws CloneNotSupportedException
      Returns a clone of the plot.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class Plot
      Returns:
      A clone.
      Throws:
      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 arbitrarily set For degrees (the default) it is 360, for radians this is 2*Pi, etc
      Parameters:
      size - the count to complete one revolution.
      See Also:
    • getRevolutionDistance

      public double getRevolutionDistance()
      Gets the count to complete one revolution.
      Returns:
      The count to complete one revolution.
      See Also:
    • writeObject

      private void writeObject(ObjectOutputStream stream) throws IOException
      Provides serialization support.
      Parameters:
      stream - the output stream.
      Throws:
      IOException - if there is an I/O error.
    • readObject

      private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
      Provides serialization support.
      Parameters:
      stream - the input stream.
      Throws:
      IOException - if there is an I/O error.
      ClassNotFoundException - if there is a classpath problem.