Class MeterPlot

    • Field Detail

      • DEFAULT_METER_ANGLE

        public static final int DEFAULT_METER_ANGLE
        The default meter angle.
        See Also:
        Constant Field Values
      • DEFAULT_BORDER_SIZE

        public static final float DEFAULT_BORDER_SIZE
        The default border size.
        See Also:
        Constant Field Values
      • DEFAULT_CIRCLE_SIZE

        public static final float DEFAULT_CIRCLE_SIZE
        The default circle size.
        See Also:
        Constant Field Values
      • DEFAULT_LABEL_FONT

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

        protected static ResourceBundle localizationResources
        The resourceBundle for the localization.
    • 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

      • setDialShape

        public void setDialShape​(DialShape shape)
        Sets the dial shape and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        shape - the shape (null not permitted).
        See Also:
        getDialShape()
      • 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 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​(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 String getUnits()
        Returns a string describing the units for the dial.
        Returns:
        The units (possibly null).
        See Also:
        setUnits(String)
      • setUnits

        public void setUnits​(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()
      • getNeedlePaint

        public Paint getNeedlePaint()
        Returns the paint for the needle.
        Returns:
        The paint (never null).
        See Also:
        setNeedlePaint(Paint)
      • setNeedlePaint

        public void setNeedlePaint​(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()
      • getTickLabelsVisible

        public boolean getTickLabelsVisible()
        Returns the flag that determines whether or not tick labels are visible.
        Returns:
        The flag.
        See Also:
        setTickLabelsVisible(boolean)
      • setTickLabelsVisible

        public void setTickLabelsVisible​(boolean visible)
        Sets the flag that controls whether or not the tick labels are visible and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        visible - the flag.
        See Also:
        getTickLabelsVisible()
      • getTickLabelFont

        public Font getTickLabelFont()
        Returns the tick label font.
        Returns:
        The font (never null).
        See Also:
        setTickLabelFont(Font)
      • setTickLabelFont

        public void setTickLabelFont​(Font font)
        Sets the tick label font and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getTickLabelFont()
      • getTickLabelPaint

        public Paint getTickLabelPaint()
        Returns the tick label paint.
        Returns:
        The paint (never null).
        See Also:
        setTickLabelPaint(Paint)
      • setTickLabelPaint

        public void setTickLabelPaint​(Paint paint)
        Sets the tick label paint and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getTickLabelPaint()
      • setTickLabelFormat

        public void setTickLabelFormat​(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 Font getValueFont()
        Returns the font for the value label.
        Returns:
        The font (never null).
        See Also:
        setValueFont(Font)
      • setValueFont

        public void setValueFont​(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()
      • getValuePaint

        public Paint getValuePaint()
        Returns the paint for the value label.
        Returns:
        The paint (never null).
        See Also:
        setValuePaint(Paint)
      • setValuePaint

        public void setValuePaint​(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()
      • getDialBackgroundPaint

        public Paint getDialBackgroundPaint()
        Returns the paint for the dial background.
        Returns:
        The paint (possibly null).
        See Also:
        setDialBackgroundPaint(Paint)
      • setDialBackgroundPaint

        public void setDialBackgroundPaint​(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()
      • setDialOutlinePaint

        public void setDialOutlinePaint​(Paint paint)
        Sets the dial outline paint and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint.
        See Also:
        getDialOutlinePaint()
      • 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()
      • getIntervals

        public List getIntervals()
        Returns an unmodifiable list of the intervals for the plot.
        Returns:
        A list.
        See Also:
        addInterval(MeterInterval)
      • 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.
      • drawArcForInterval

        protected void drawArcForInterval​(Graphics2D g2,
                                          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​(Graphics2D g2,
                               Rectangle2D area,
                               double minValue,
                               double maxValue,
                               Paint paint,
                               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​(Graphics2D g2,
                               Rectangle2D area,
                               double minValue,
                               double maxValue,
                               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​(Graphics2D g2,
                                 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​(Graphics2D g2,
                                Rectangle2D meterArea,
                                double value)
        Draws a tick.
        Parameters:
        g2 - the graphics device.
        meterArea - the meter area.
        value - the value.
      • drawTick

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

        public 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​(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 Object clone()
                     throws 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:
        CloneNotSupportedException - if some component of the plot cannot be cloned.