## org.jfree.chart.plot.dial
Class StandardDialScale

    java.lang.Object
      org.jfree.chart.plot.dial.AbstractDialLayer
          org.jfree.chart.plot.dial.StandardDialScale

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, DialLayer, DialScale, org.jfree.util.PublicCloneable

    public class StandardDialScale

extends AbstractDialLayer
implements DialScale, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A scale for a `DialPlot`.

Since:
  1.0.7
See Also:
  Serialized Form

Constructor Summary
`StandardDialScale()` Creates a new instance of DialScale.
`StandardDialScale(double lowerBound, double upperBound, double startAngle, double extent, double majorTickIncrement, int minorTickCount)` Creates a new instance.

Method Summary
`double` `angleToValue(double angle)` Converts the given angle to a data value, based on this scale.
`java.lang.Object` `clone()` Returns a clone of this instance.
`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.
`boolean` `equals(java.lang.Object obj)` Tests this `StandardDialScale` for equality with an arbitrary object.
`double` `getExtent()` Returns the extent.
`boolean` `getFirstTickLabelVisible()` Returns a flag that controls whether or not the first tick label is visible.
`double` `getLowerBound()` Returns the lower bound for the scale.
`double` `getMajorTickIncrement()` Returns the increment (in data units) between major tick labels.
`double` `getMajorTickLength()` Returns the length factor for the major tick marks.
`java.awt.Paint` `getMajorTickPaint()` Returns the major tick paint.
`java.awt.Stroke` `getMajorTickStroke()` Returns the stroke used to draw the major tick marks.
`int` `getMinorTickCount()` Returns the number of minor tick marks between major tick marks.
`double` `getMinorTickLength()` Returns the length factor for the minor tick marks.
`java.awt.Paint` `getMinorTickPaint()` Returns the paint used to draw the minor tick marks.
`java.awt.Stroke` `getMinorTickStroke()` Returns the stroke used to draw the minor tick marks.
`double` `getStartAngle()` Returns the start angle for the scale (in degrees using the same orientation as Java's `Arc2D` class).
`java.awt.Font` `getTickLabelFont()` Returns the font used to draw the tick labels.
`java.text.NumberFormat` `getTickLabelFormatter()` Returns the number formatter used to convert the tick label values to strings.
`double` `getTickLabelOffset()` Returns the tick label offset.
`java.awt.Paint` `getTickLabelPaint()` Returns the paint used to draw the tick labels.
`boolean` `getTickLabelsVisible()` Returns `true` if the tick labels should be displayed, and `false` otherwise.
`double` `getTickRadius()` Returns the radius (as a percentage of the maximum space available) of the outer limit of the tick marks.
`double` `getUpperBound()` Returns the upper bound for the scale.
`int` `hashCode()` Returns a hash code for this instance.
`boolean` `isClippedToWindow()` Returns `true` to indicate that this layer should be clipped within the dial window.
`void` `setExtent(double extent)` Sets the extent and sends a `DialLayerChangeEvent` to all registered listeners.
`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.
`void` `setLowerBound(double lower)` Sets the lower bound for the scale and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMajorTickIncrement(double increment)` Sets the increment (in data units) between major tick labels and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMajorTickLength(double length)` Sets the length factor for the major tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMajorTickPaint(java.awt.Paint paint)` Sets the major tick paint and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMajorTickStroke(java.awt.Stroke stroke)` Sets the stroke used to draw the major tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMinorTickCount(int count)` Sets the number of minor tick marks between major tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMinorTickLength(double length)` Sets the length factor for the minor tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMinorTickPaint(java.awt.Paint paint)` Sets the paint used to draw the minor tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setMinorTickStroke(java.awt.Stroke stroke)` Sets the stroke used to draw the minor tick marks and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setStartAngle(double angle)` Sets the start angle for the scale and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setTickLabelFont(java.awt.Font font)` Sets the font used to display the tick labels and sends a `DialLayerChangeEvent` to all registered listeners.
`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.
`void` `setTickLabelOffset(double offset)` Sets the tick label offset and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setTickLabelPaint(java.awt.Paint paint)` Sets the paint used to draw the tick labels and sends a `DialLayerChangeEvent` to all registered listeners.
`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.
`void` `setTickRadius(double radius)` Sets the tick radius and sends a `DialLayerChangeEvent` to all registered listeners.
`void` `setUpperBound(double upper)` Sets the upper bound for the scale and sends a `DialLayerChangeEvent` to all registered listeners.
`double` `valueToAngle(double value)` Converts a data value to an angle against this scale.

Methods inherited from class org.jfree.chart.plot.dial.AbstractDialLayer
`addChangeListener, hasListener, isVisible, notifyListeners, removeChangeListener, setVisible`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.plot.dial.DialLayer
`addChangeListener, hasListener, isVisible, removeChangeListener`

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.
  Since:
    1.0.8
  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.
  Since:
    1.0.8
  See Also:
    `getLowerBound()`

### getUpperBound

    public double getUpperBound()

  Returns the upper bound for the scale.

  Returns:
    The upper bound for the scale.
  Since:
    1.0.8
  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.
  Since:
    1.0.8
  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`).
  Since:
    1.0.8
  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).
  Since:
    1.0.8
  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.
  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 `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractDialLayer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if this instance is not cloneable.