Package 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
,PublicCloneable
public class StandardDialScale extends AbstractDialLayer implements DialScale, java.lang.Cloneable, PublicCloneable, java.io.Serializable
A scale for aDialPlot
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private double
extent
The extent of the scale display.private boolean
firstTickLabelVisible
A flag that controls whether or not the first tick label is displayed.private double
lowerBound
The minimum data value for the scale.private double
majorTickIncrement
The increment (in data units) between major tick marks.private double
majorTickLength
The factor that is subtracted from the tickRadius to determine the inner point of the major ticks.private java.awt.Paint
majorTickPaint
The paint to use for major tick marks.private java.awt.Stroke
majorTickStroke
The stroke to use for major tick marks.private int
minorTickCount
The number of minor ticks between each major tick.private double
minorTickLength
The factor that is subtracted from the tickRadius to determine the inner point of the minor ticks.private java.awt.Paint
minorTickPaint
The paint to use for minor tick marks.private java.awt.Stroke
minorTickStroke
The stroke to use for minor tick marks.(package private) static long
serialVersionUID
For serialization.private double
startAngle
The start angle for the scale display, in degrees (using the same encoding as Arc2D).private java.awt.Font
tickLabelFont
The tick label font.private java.text.NumberFormat
tickLabelFormatter
The number formatter for the tick labels.private double
tickLabelOffset
The tick label offset.private java.awt.Paint
tickLabelPaint
The tick label paint.private boolean
tickLabelsVisible
A flag that controls whether or not the tick labels are displayed.private double
tickRadius
The factor (in the range 0.0 to 1.0) that determines the outside limit of the tick marks.private double
upperBound
The maximum data value for the scale.
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 thisStandardDialScale
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'sArc2D
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()
Returnstrue
if the tick labels should be displayed, andfalse
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()
Returnstrue
to indicate that this layer should be clipped within the dial window.private void
readObject(java.io.ObjectInputStream stream)
Provides serialization support.void
setExtent(double extent)
Sets the extent and sends aDialLayerChangeEvent
to all registered listeners.void
setFirstTickLabelVisible(boolean visible)
Sets a flag that controls whether or not the first tick label is visible, and sends aDialLayerChangeEvent
to all registered listeners.void
setLowerBound(double lower)
Sets the lower bound for the scale and sends aDialLayerChangeEvent
to all registered listeners.void
setMajorTickIncrement(double increment)
Sets the increment (in data units) between major tick labels and sends aDialLayerChangeEvent
to all registered listeners.void
setMajorTickLength(double length)
Sets the length factor for the major tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setMajorTickPaint(java.awt.Paint paint)
Sets the major tick paint and sends aDialLayerChangeEvent
to all registered listeners.void
setMajorTickStroke(java.awt.Stroke stroke)
Sets the stroke used to draw the major tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setMinorTickCount(int count)
Sets the number of minor tick marks between major tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setMinorTickLength(double length)
Sets the length factor for the minor tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setMinorTickPaint(java.awt.Paint paint)
Sets the paint used to draw the minor tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setMinorTickStroke(java.awt.Stroke stroke)
Sets the stroke used to draw the minor tick marks and sends aDialLayerChangeEvent
to all registered listeners.void
setStartAngle(double angle)
Sets the start angle for the scale and sends aDialLayerChangeEvent
to all registered listeners.void
setTickLabelFont(java.awt.Font font)
Sets the font used to display the tick labels and sends aDialLayerChangeEvent
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 aDialLayerChangeEvent
to all registered listeners.void
setTickLabelOffset(double offset)
Sets the tick label offset and sends aDialLayerChangeEvent
to all registered listeners.void
setTickLabelPaint(java.awt.Paint paint)
Sets the paint used to draw the tick labels and sends aDialLayerChangeEvent
to all registered listeners.void
setTickLabelsVisible(boolean visible)
Sets the flag that controls whether or not the tick labels are displayed, and sends aDialLayerChangeEvent
to all registered listeners.void
setTickRadius(double radius)
Sets the tick radius and sends aDialLayerChangeEvent
to all registered listeners.void
setUpperBound(double upper)
Sets the upper bound for the scale and sends aDialLayerChangeEvent
to all registered listeners.double
valueToAngle(double value)
Converts a data value to an angle against this scale.private void
writeObject(java.io.ObjectOutputStream stream)
Provides serialization support.-
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
-
-
-
-
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'sArc2D
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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'sArc2D
class).- Returns:
- The start angle.
- See Also:
setStartAngle(double)
-
setStartAngle
public void setStartAngle(double angle)
Sets the start angle for the scale and sends aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
to all registered listeners.- Parameters:
paint
- the paint (null
not permitted).
-
getTickLabelsVisible
public boolean getTickLabelsVisible()
Returnstrue
if the tick labels should be displayed, andfalse
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
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 aDialLayerChangeEvent
to all registered listeners.- Parameters:
visible
- the new flag value.- See Also:
getFirstTickLabelVisible()
-
isClippedToWindow
public boolean isClippedToWindow()
Returnstrue
to indicate that this layer should be clipped within the dial window.- Specified by:
isClippedToWindow
in interfaceDialLayer
- 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 interfaceDialLayer
- 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 interfaceDialScale
- 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 interfaceDialScale
- Parameters:
angle
- the angle (in degrees).- Returns:
- The data value.
- See Also:
valueToAngle(double)
-
equals
public boolean equals(java.lang.Object obj)
Tests thisStandardDialScale
for equality with an arbitrary object.- Overrides:
equals
in classAbstractDialLayer
- Parameters:
obj
- the object (null
permitted).- Returns:
- A boolean.
-
hashCode
public int hashCode()
Returns a hash code for this instance.- Overrides:
hashCode
in classAbstractDialLayer
- Returns:
- A hash code.
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Returns a clone of this instance.- Specified by:
clone
in interfacePublicCloneable
- Overrides:
clone
in classAbstractDialLayer
- 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.
-
-