Class MeterPlot

    • Constructor Detail

      • MeterPlot

        public MeterPlot()
        Creates a new plot with a default range of 0 to 100 and no value to display.
      • MeterPlot

        public MeterPlot​(ValueDataset dataset)
        Creates a new plot that displays the value from the supplied dataset.
        Parameters:
        dataset - the dataset (null permitted).
    • Method Detail

      • getMeterAngle

        public int getMeterAngle()
        Returns the meter angle in degrees. This defines, in part, the shape of the dial. The default is 270 degrees.
        Returns:
        The meter angle (in degrees).
        See Also:
        setMeterAngle(int)
      • setMeterAngle

        public void setMeterAngle​(int angle)
        Sets the angle (in degrees) for the whole range of the dial and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        angle - the angle (in degrees, in the range 1-360).
        See Also:
        getMeterAngle()
      • getRange

        public Range getRange()
        Returns the overall range for the dial.
        Returns:
        The overall range (never null).
        See Also:
        setRange(Range)
      • setRange

        public void setRange​(Range range)
        Sets the range for the dial and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        range - the range (null not permitted and zero-length ranges not permitted).
        See Also:
        getRange()
      • getTickSize

        public double getTickSize()
        Returns the tick size (the interval between ticks on the dial).
        Returns:
        The tick size.
        See Also:
        setTickSize(double)
      • setTickSize

        public void setTickSize​(double size)
        Sets the tick size and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        size - the tick size (must be > 0).
        See Also:
        getTickSize()
      • getTickPaint

        public java.awt.Paint getTickPaint()
        Returns the paint used to draw the ticks around the dial.
        Returns:
        The paint used to draw the ticks around the dial (never null).
        See Also:
        setTickPaint(Paint)
      • setTickPaint

        public void setTickPaint​(java.awt.Paint paint)
        Sets the paint used to draw the tick labels around the dial and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getTickPaint()
      • getUnits

        public java.lang.String getUnits()
        Returns a string describing the units for the dial.
        Returns:
        The units (possibly null).
        See Also:
        setUnits(String)
      • setUnits

        public void setUnits​(java.lang.String units)
        Sets the units for the dial and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        units - the units (null permitted).
        See Also:
        getUnits()
      • setNeedlePaint

        public void setNeedlePaint​(java.awt.Paint paint)
        Sets the paint used to display the needle and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getNeedlePaint()
      • setTickLabelFormat

        public void setTickLabelFormat​(java.text.NumberFormat format)
        Sets the format for the tick labels and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        format - the format (null not permitted).
        See Also:
        getTickLabelFormat()
      • getValueFont

        public java.awt.Font getValueFont()
        Returns the font for the value label.
        Returns:
        The font (never null).
        See Also:
        setValueFont(Font)
      • setValueFont

        public void setValueFont​(java.awt.Font font)
        Sets the font used to display the value label and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getValueFont()
      • setValuePaint

        public void setValuePaint​(java.awt.Paint paint)
        Sets the paint used to display the value label and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getValuePaint()
      • setDialBackgroundPaint

        public void setDialBackgroundPaint​(java.awt.Paint paint)
        Sets the paint used to fill the dial background. Set this to null for no background.
        Parameters:
        paint - the paint (null permitted).
        See Also:
        getDialBackgroundPaint()
      • getDrawBorder

        public boolean getDrawBorder()
        Returns a flag that controls whether or not a rectangular border is drawn around the plot area.
        Returns:
        A flag.
        See Also:
        setDrawBorder(boolean)
      • setDrawBorder

        public void setDrawBorder​(boolean draw)
        Sets the flag that controls whether or not a rectangular border is drawn around the plot area and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        draw - the flag.
        See Also:
        getDrawBorder()
      • setDataset

        public void setDataset​(ValueDataset dataset)
        Sets the dataset for the plot, replacing the existing dataset if there is one, and triggers a PlotChangeEvent.
        Parameters:
        dataset - the dataset (null permitted).
        See Also:
        getDataset()
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         java.awt.geom.Rectangle2D area,
                         java.awt.geom.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.
      • drawArcForInterval

        protected void drawArcForInterval​(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D meterArea,
                                          MeterInterval interval)
        Draws the arc to represent an interval.
        Parameters:
        g2 - the graphics device.
        meterArea - the drawing area.
        interval - the interval.
      • drawArc

        protected void drawArc​(java.awt.Graphics2D g2,
                               java.awt.geom.Rectangle2D area,
                               double minValue,
                               double maxValue,
                               java.awt.Paint paint,
                               java.awt.Stroke stroke)
        Draws an arc.
        Parameters:
        g2 - the graphics device.
        area - the plot area.
        minValue - the minimum value.
        maxValue - the maximum value.
        paint - the paint.
        stroke - the stroke.
      • fillArc

        protected void fillArc​(java.awt.Graphics2D g2,
                               java.awt.geom.Rectangle2D area,
                               double minValue,
                               double maxValue,
                               java.awt.Paint paint,
                               boolean dial)
        Fills an arc on the dial between the given values.
        Parameters:
        g2 - the graphics device.
        area - the plot area.
        minValue - the minimum data value.
        maxValue - the maximum data value.
        paint - the background paint (null not permitted).
        dial - a flag that indicates whether the arc represents the whole dial.
      • valueToAngle

        public double valueToAngle​(double value)
        Translates a data value to an angle on the dial.
        Parameters:
        value - the value.
        Returns:
        The angle on the dial.
      • drawTicks

        protected void drawTicks​(java.awt.Graphics2D g2,
                                 java.awt.geom.Rectangle2D meterArea,
                                 double minValue,
                                 double maxValue)
        Draws the ticks that subdivide the overall range.
        Parameters:
        g2 - the graphics device.
        meterArea - the meter area.
        minValue - the minimum value.
        maxValue - the maximum value.
      • drawTick

        protected void drawTick​(java.awt.Graphics2D g2,
                                java.awt.geom.Rectangle2D meterArea,
                                double value)
        Draws a tick.
        Parameters:
        g2 - the graphics device.
        meterArea - the meter area.
        value - the value.
      • drawTick

        protected void drawTick​(java.awt.Graphics2D g2,
                                java.awt.geom.Rectangle2D meterArea,
                                double value,
                                boolean label)
        Draws a tick on the dial.
        Parameters:
        g2 - the graphics device.
        meterArea - the meter area.
        value - the tick value.
        label - a flag that controls whether or not a value label is drawn.
      • drawValueLabel

        protected void drawValueLabel​(java.awt.Graphics2D g2,
                                      java.awt.geom.Rectangle2D area)
        Draws the value label just below the center of the dial.
        Parameters:
        g2 - the graphics device.
        area - the plot area.
      • 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 type of plot.
      • zoom

        public void zoom​(double percent)
        A zoom method that does nothing. Plots are required to support the zoom operation. In the case of a meter plot, it doesn't make sense to zoom in or out, so the method is empty.
        Overrides:
        zoom in class Plot
        Parameters:
        percent - The zoom percentage.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests the plot for equality with an arbitrary object. Note that the dataset is ignored for the purposes of testing equality.
        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 an independent copy (clone) of the plot. The dataset is NOT cloned - both the original and the clone will have a reference to the same dataset.
        Specified by:
        clone in interface org.jfree.util.PublicCloneable
        Overrides:
        clone in class Plot
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if some component of the plot cannot be cloned.