Class StandardDialScale

    • Field Detail

      • serialVersionUID

        static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • lowerBound

        private double lowerBound
        The minimum data value for the scale.
      • upperBound

        private double upperBound
        The maximum data value for the scale.
      • startAngle

        private double startAngle
        The start angle for the scale display, in degrees (using the same encoding as Arc2D).
      • extent

        private double extent
        The extent of the scale display.
      • tickRadius

        private double tickRadius
        The factor (in the range 0.0 to 1.0) that determines the outside limit of the tick marks.
      • majorTickIncrement

        private double majorTickIncrement
        The increment (in data units) between major tick marks.
      • majorTickLength

        private double majorTickLength
        The factor that is subtracted from the tickRadius to determine the inner point of the major ticks.
      • majorTickPaint

        private transient java.awt.Paint majorTickPaint
        The paint to use for major tick marks. This field is transient because it requires special handling for serialization.
      • majorTickStroke

        private transient java.awt.Stroke majorTickStroke
        The stroke to use for major tick marks. This field is transient because it requires special handling for serialization.
      • minorTickCount

        private int minorTickCount
        The number of minor ticks between each major tick.
      • minorTickLength

        private double minorTickLength
        The factor that is subtracted from the tickRadius to determine the inner point of the minor ticks.
      • minorTickPaint

        private transient java.awt.Paint minorTickPaint
        The paint to use for minor tick marks. This field is transient because it requires special handling for serialization.
      • minorTickStroke

        private transient java.awt.Stroke minorTickStroke
        The stroke to use for minor tick marks. This field is transient because it requires special handling for serialization.
      • tickLabelOffset

        private double tickLabelOffset
        The tick label offset.
      • tickLabelFont

        private java.awt.Font tickLabelFont
        The tick label font.
      • tickLabelsVisible

        private boolean tickLabelsVisible
        A flag that controls whether or not the tick labels are displayed.
      • tickLabelFormatter

        private java.text.NumberFormat tickLabelFormatter
        The number formatter for the tick labels.
      • firstTickLabelVisible

        private boolean firstTickLabelVisible
        A flag that controls whether or not the first tick label is displayed.
      • tickLabelPaint

        private transient java.awt.Paint tickLabelPaint
        The tick label paint. This field is transient because it requires special handling for serialization.
    • Constructor Detail

      • StandardDialScale

        public StandardDialScale()
        Creates a new instance of DialScale.
      • StandardDialScale

        public StandardDialScale​(double lowerBound,
                                 double upperBound,
                                 double startAngle,
                                 double extent,
                                 double majorTickIncrement,
                                 int minorTickCount)
        Creates a new instance.
        Parameters:
        lowerBound - the lower bound of the scale.
        upperBound - the upper bound of the scale.
        startAngle - the start angle (in degrees, using the same orientation as Java's Arc2D class).
        extent - the extent (in degrees, counter-clockwise).
        majorTickIncrement - the interval between major tick marks (must be > 0).
        minorTickCount - the number of minor ticks between major tick marks.
    • Method Detail

      • getLowerBound

        public double getLowerBound()
        Returns the lower bound for the scale.
        Returns:
        The lower bound for the scale.
        See Also:
        setLowerBound(double)
      • setLowerBound

        public void setLowerBound​(double lower)
        Sets the lower bound for the scale and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        lower - the lower bound.
        See Also:
        getLowerBound()
      • getUpperBound

        public double getUpperBound()
        Returns the upper bound for the scale.
        Returns:
        The upper bound for the scale.
        See Also:
        setUpperBound(double)
      • setUpperBound

        public void setUpperBound​(double upper)
        Sets the upper bound for the scale and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        upper - the upper bound.
        See Also:
        getUpperBound()
      • getStartAngle

        public double getStartAngle()
        Returns the start angle for the scale (in degrees using the same orientation as Java's Arc2D class).
        Returns:
        The start angle.
        See Also:
        setStartAngle(double)
      • setStartAngle

        public void setStartAngle​(double angle)
        Sets the start angle for the scale and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        angle - the angle (in degrees).
        See Also:
        getStartAngle()
      • getExtent

        public double getExtent()
        Returns the extent.
        Returns:
        The extent.
        See Also:
        setExtent(double)
      • setExtent

        public void setExtent​(double extent)
        Sets the extent and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        extent - the extent.
        See Also:
        getExtent()
      • getTickRadius

        public double getTickRadius()
        Returns the radius (as a percentage of the maximum space available) of the outer limit of the tick marks.
        Returns:
        The tick radius.
        See Also:
        setTickRadius(double)
      • setTickRadius

        public void setTickRadius​(double radius)
        Sets the tick radius and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        radius - the radius.
        See Also:
        getTickRadius()
      • getMajorTickIncrement

        public double getMajorTickIncrement()
        Returns the increment (in data units) between major tick labels.
        Returns:
        The increment between major tick labels.
        See Also:
        setMajorTickIncrement(double)
      • setMajorTickIncrement

        public void setMajorTickIncrement​(double increment)
        Sets the increment (in data units) between major tick labels and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        increment - the increment (must be > 0).
        See Also:
        getMajorTickIncrement()
      • getMajorTickLength

        public double getMajorTickLength()
        Returns the length factor for the major tick marks. The value is subtracted from the tick radius to determine the inner starting point for the tick marks.
        Returns:
        The length factor.
        See Also:
        setMajorTickLength(double)
      • setMajorTickLength

        public void setMajorTickLength​(double length)
        Sets the length factor for the major tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        length - the length.
        See Also:
        getMajorTickLength()
      • getMajorTickPaint

        public java.awt.Paint getMajorTickPaint()
        Returns the major tick paint.
        Returns:
        The major tick paint (never null).
        See Also:
        setMajorTickPaint(Paint)
      • setMajorTickPaint

        public void setMajorTickPaint​(java.awt.Paint paint)
        Sets the major tick paint and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getMajorTickPaint()
      • getMajorTickStroke

        public java.awt.Stroke getMajorTickStroke()
        Returns the stroke used to draw the major tick marks.
        Returns:
        The stroke (never null).
        See Also:
        setMajorTickStroke(Stroke)
      • setMajorTickStroke

        public void setMajorTickStroke​(java.awt.Stroke stroke)
        Sets the stroke used to draw the major tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        stroke - the stroke (null not permitted).
        See Also:
        getMajorTickStroke()
      • getMinorTickCount

        public int getMinorTickCount()
        Returns the number of minor tick marks between major tick marks.
        Returns:
        The number of minor tick marks between major tick marks.
        See Also:
        setMinorTickCount(int)
      • setMinorTickCount

        public void setMinorTickCount​(int count)
        Sets the number of minor tick marks between major tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        count - the count.
        See Also:
        getMinorTickCount()
      • getMinorTickLength

        public double getMinorTickLength()
        Returns the length factor for the minor tick marks. The value is subtracted from the tick radius to determine the inner starting point for the tick marks.
        Returns:
        The length factor.
        See Also:
        setMinorTickLength(double)
      • setMinorTickLength

        public void setMinorTickLength​(double length)
        Sets the length factor for the minor tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        length - the length.
        See Also:
        getMinorTickLength()
      • getMinorTickPaint

        public java.awt.Paint getMinorTickPaint()
        Returns the paint used to draw the minor tick marks.
        Returns:
        The paint (never null).
        See Also:
        setMinorTickPaint(Paint)
      • setMinorTickPaint

        public void setMinorTickPaint​(java.awt.Paint paint)
        Sets the paint used to draw the minor tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getMinorTickPaint()
      • getMinorTickStroke

        public java.awt.Stroke getMinorTickStroke()
        Returns the stroke used to draw the minor tick marks.
        Returns:
        The paint (never null).
        See Also:
        setMinorTickStroke(Stroke)
      • setMinorTickStroke

        public void setMinorTickStroke​(java.awt.Stroke stroke)
        Sets the stroke used to draw the minor tick marks and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        stroke - the stroke (null not permitted).
        See Also:
        getMinorTickStroke()
      • getTickLabelOffset

        public double getTickLabelOffset()
        Returns the tick label offset.
        Returns:
        The tick label offset.
        See Also:
        setTickLabelOffset(double)
      • setTickLabelOffset

        public void setTickLabelOffset​(double offset)
        Sets the tick label offset and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        offset - the offset.
        See Also:
        getTickLabelOffset()
      • getTickLabelFont

        public java.awt.Font getTickLabelFont()
        Returns the font used to draw the tick labels.
        Returns:
        The font (never null).
        See Also:
        setTickLabelFont(Font)
      • setTickLabelFont

        public void setTickLabelFont​(java.awt.Font font)
        Sets the font used to display the tick labels and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getTickLabelFont()
      • getTickLabelPaint

        public java.awt.Paint getTickLabelPaint()
        Returns the paint used to draw the tick labels.
        Returns:
        The paint (null not permitted).
        See Also:
        setTickLabelPaint(Paint)
      • setTickLabelPaint

        public void setTickLabelPaint​(java.awt.Paint paint)
        Sets the paint used to draw the tick labels and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
      • getTickLabelsVisible

        public boolean getTickLabelsVisible()
        Returns true if the tick labels should be displayed, and false otherwise.
        Returns:
        A boolean.
        See Also:
        setTickLabelsVisible(boolean)
      • setTickLabelsVisible

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

        public java.text.NumberFormat getTickLabelFormatter()
        Returns the number formatter used to convert the tick label values to strings.
        Returns:
        The formatter (never null).
        See Also:
        setTickLabelFormatter(NumberFormat)
      • setTickLabelFormatter

        public void setTickLabelFormatter​(java.text.NumberFormat formatter)
        Sets the number formatter used to convert the tick label values to strings, and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        formatter - the formatter (null not permitted).
        See Also:
        getTickLabelFormatter()
      • getFirstTickLabelVisible

        public boolean getFirstTickLabelVisible()
        Returns a flag that controls whether or not the first tick label is visible.
        Returns:
        A boolean.
        See Also:
        setFirstTickLabelVisible(boolean)
      • setFirstTickLabelVisible

        public void setFirstTickLabelVisible​(boolean visible)
        Sets a flag that controls whether or not the first tick label is visible, and sends a DialLayerChangeEvent to all registered listeners.
        Parameters:
        visible - the new flag value.
        See Also:
        getFirstTickLabelVisible()
      • isClippedToWindow

        public boolean isClippedToWindow()
        Returns true to indicate that this layer should be clipped within the dial window.
        Specified by:
        isClippedToWindow in interface DialLayer
        Returns:
        true.
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         DialPlot plot,
                         java.awt.geom.Rectangle2D frame,
                         java.awt.geom.Rectangle2D view)
        Draws the scale on the dial plot.
        Specified by:
        draw in interface DialLayer
        Parameters:
        g2 - the graphics target (null not permitted).
        plot - the dial plot (null not permitted).
        frame - the reference frame that is used to construct the geometry of the plot (null not permitted).
        view - the visible part of the plot (null not permitted).
      • valueToAngle

        public double valueToAngle​(double value)
        Converts a data value to an angle against this scale.
        Specified by:
        valueToAngle in interface DialScale
        Parameters:
        value - the data value.
        Returns:
        The angle (in degrees, using the same specification as Java's Arc2D class).
        See Also:
        angleToValue(double)
      • angleToValue

        public double angleToValue​(double angle)
        Converts the given angle to a data value, based on this scale.
        Specified by:
        angleToValue in interface DialScale
        Parameters:
        angle - the angle (in degrees).
        Returns:
        The data value.
        See Also:
        valueToAngle(double)
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this StandardDialScale for equality with an arbitrary object.
        Overrides:
        equals in class AbstractDialLayer
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Returns a hash code for this instance.
        Overrides:
        hashCode in class AbstractDialLayer
        Returns:
        A hash code.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of this instance.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class AbstractDialLayer
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if this instance is not cloneable.
      • writeObject

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

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