Class DialPlot

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

public class DialPlot
extends Plot
implements DialLayerChangeListener
A dial plot composed of user-definable layers. The example shown here is generated by the DialDemo2.java program included in the JFreeChart Demo Collection:

DialPlotSample.png
See Also:
Serialized Form
  • Constructor Details

    • DialPlot

      public DialPlot()
      Creates a new instance of DialPlot.
    • DialPlot

      public DialPlot​(ValueDataset dataset)
      Creates a new instance of DialPlot.
      Parameters:
      dataset - the dataset (null permitted).
  • Method Details

    • getBackground

      Returns the background.
      Returns:
      The background (possibly null).
      See Also:
      setBackground(DialLayer)
    • setBackground

      public void setBackground​(DialLayer background)
      Sets the background layer and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      background - the background layer (null permitted).
      See Also:
      getBackground()
    • getCap

      public DialLayer getCap()
      Returns the cap.
      Returns:
      The cap (possibly null).
      See Also:
      setCap(DialLayer)
    • setCap

      public void setCap​(DialLayer cap)
      Sets the cap and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      cap - the cap (null permitted).
      See Also:
      getCap()
    • getDialFrame

      Returns the dial's frame.
      Returns:
      The dial's frame (never null).
      See Also:
      setDialFrame(DialFrame)
    • setDialFrame

      public void setDialFrame​(DialFrame frame)
      Sets the dial's frame and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      frame - the frame (null not permitted).
      See Also:
      getDialFrame()
    • getViewX

      public double getViewX()
      Returns the x-coordinate of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.
      Returns:
      The x-coordinate of the viewing rectangle.
      See Also:
      setView(double, double, double, double)
    • getViewY

      public double getViewY()
      Returns the y-coordinate of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.
      Returns:
      The y-coordinate of the viewing rectangle.
      See Also:
      setView(double, double, double, double)
    • getViewWidth

      public double getViewWidth()
      Returns the width of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.
      Returns:
      The width of the viewing rectangle.
      See Also:
      setView(double, double, double, double)
    • getViewHeight

      public double getViewHeight()
      Returns the height of the viewing rectangle. This is specified in the range 0.0 to 1.0, relative to the dial's framing rectangle.
      Returns:
      The height of the viewing rectangle.
      See Also:
      setView(double, double, double, double)
    • setView

      public void setView​(double x, double y, double w, double h)
      Sets the viewing rectangle, relative to the dial's framing rectangle, and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      x - the x-coordinate (in the range 0.0 to 1.0).
      y - the y-coordinate (in the range 0.0 to 1.0).
      w - the width (in the range 0.0 to 1.0).
      h - the height (in the range 0.0 to 1.0).
      See Also:
      getViewX(), getViewY(), getViewWidth(), getViewHeight()
    • addLayer

      public void addLayer​(DialLayer layer)
      Adds a layer to the plot and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      layer - the layer (null not permitted).
    • getLayerIndex

      public int getLayerIndex​(DialLayer layer)
      Returns the index for the specified layer.
      Parameters:
      layer - the layer (null not permitted).
      Returns:
      The layer index.
    • removeLayer

      public void removeLayer​(int index)
      Removes the layer at the specified index and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      index - the index.
    • removeLayer

      public void removeLayer​(DialLayer layer)
      Removes the specified layer and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      layer - the layer (null not permitted).
    • addPointer

      public void addPointer​(DialPointer pointer)
      Adds a pointer to the plot and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      pointer - the pointer (null not permitted).
    • getPointerIndex

      public int getPointerIndex​(DialPointer pointer)
      Returns the index for the specified pointer.
      Parameters:
      pointer - the pointer (null not permitted).
      Returns:
      The pointer index.
    • removePointer

      public void removePointer​(int index)
      Removes the pointer at the specified index and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      index - the index.
    • removePointer

      public void removePointer​(DialPointer pointer)
      Removes the specified pointer and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      pointer - the pointer (null not permitted).
    • getPointerForDataset

      public DialPointer getPointerForDataset​(int datasetIndex)
      Returns the dial pointer that is associated with the specified dataset, or null.
      Parameters:
      datasetIndex - the dataset index.
      Returns:
      The pointer.
    • getDataset

      Returns the primary dataset for the plot.
      Returns:
      The primary dataset (possibly null).
    • getDataset

      public ValueDataset getDataset​(int index)
      Returns the dataset at the given index.
      Parameters:
      index - the dataset index.
      Returns:
      The dataset (possibly null).
    • setDataset

      public void setDataset​(ValueDataset dataset)
      Sets the dataset for the plot, replacing the existing dataset, if there is one, and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      dataset - the dataset (null permitted).
    • setDataset

      public void setDataset​(int index, ValueDataset dataset)
      Sets a dataset for the plot.
      Parameters:
      index - the dataset index.
      dataset - the dataset (null permitted).
    • getDatasetCount

      public int getDatasetCount()
      Returns the number of datasets.
      Returns:
      The number of datasets.
    • draw

      public void draw​(Graphics2D g2, Rectangle2D area, Point2D anchor, PlotState parentState, PlotRenderingInfo info)
      Draws the plot. This method is usually called by the JFreeChart instance that manages the plot.
      Specified by:
      draw in class Plot
      Parameters:
      g2 - the graphics target.
      area - the area in which the plot should be drawn.
      anchor - the anchor point (typically the last point that the mouse clicked on, null is permitted).
      parentState - the state for the parent plot (if any).
      info - used to collect plot rendering info (null permitted).
    • getValue

      public double getValue​(int datasetIndex)
      Returns the value from the specified dataset.
      Parameters:
      datasetIndex - the dataset index.
      Returns:
      The data value.
    • addScale

      public void addScale​(int index, DialScale scale)
      Adds a dial scale to the plot and sends a PlotChangeEvent to all registered listeners.
      Parameters:
      index - the scale index.
      scale - the scale (null not permitted).
    • getScale

      public DialScale getScale​(int index)
      Returns the scale at the given index.
      Parameters:
      index - the scale index.
      Returns:
      The scale (possibly null).
    • mapDatasetToScale

      public void mapDatasetToScale​(int index, int scaleIndex)
      Maps a dataset to a particular scale.
      Parameters:
      index - the dataset index (zero-based).
      scaleIndex - the scale index (zero-based).
    • getScaleForDataset

      public DialScale getScaleForDataset​(int datasetIndex)
      Returns the dial scale for a specific dataset.
      Parameters:
      datasetIndex - the dataset index.
      Returns:
      The dial scale.
    • rectangleByRadius

      public static Rectangle2D rectangleByRadius​(Rectangle2D rect, double radiusW, double radiusH)
      A utility method that computes a rectangle using relative radius values.
      Parameters:
      rect - the reference rectangle (null not permitted).
      radiusW - the width radius (must be > 0.0)
      radiusH - the height radius.
      Returns:
      A new rectangle.
    • dialLayerChanged

      public void dialLayerChanged​(DialLayerChangeEvent event)
      Receives notification when a layer has changed, and responds by forwarding a PlotChangeEvent to all registered listeners.
      Specified by:
      dialLayerChanged in interface DialLayerChangeListener
      Parameters:
      event - the event.
    • equals

      public boolean equals​(Object obj)
      Tests this DialPlot instance for equality with an arbitrary object. The plot's dataset(s) is (are) not included in the test.
      Overrides:
      equals in class Plot
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.
    • hashCode

      public int hashCode()
      Returns a hash code for this instance.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code.
    • getPlotType

      public String getPlotType()
      Returns the plot type.
      Specified by:
      getPlotType in class Plot
      Returns:
      "DialPlot"