org.jfree.chart.plot

Class MeterPlot

public class MeterPlot extends Plot implements Serializable, Cloneable

A plot that displays a single value in the form of a needle on a dial. Defined ranges (for example, 'normal', 'warning' and 'critical') can be highlighted on the dial.
Field Summary
static floatDEFAULT_BORDER_SIZE
The default border size.
static floatDEFAULT_CIRCLE_SIZE
The default circle size.
static FontDEFAULT_LABEL_FONT
The default label font.
static intDEFAULT_METER_ANGLE
The default meter angle.
protected static ResourceBundlelocalizationResources
The resourceBundle for the localization.
Constructor Summary
MeterPlot()
Creates a new plot with a default range of 0 to 100 and no value to display.
MeterPlot(ValueDataset dataset)
Creates a new plot that displays the value from the supplied dataset.
Method Summary
voidaddInterval(MeterInterval interval)
Adds an interval and sends a PlotChangeEvent to all registered listeners.
voidclearIntervals()
Clears the intervals for the plot and sends a PlotChangeEvent to all registered listeners.
Objectclone()
Returns an independent copy (clone) of the plot.
voiddraw(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).
protected voiddrawArc(Graphics2D g2, Rectangle2D area, double minValue, double maxValue, Paint paint, Stroke stroke)
Draws an arc.
protected voiddrawArcForInterval(Graphics2D g2, Rectangle2D meterArea, MeterInterval interval)
Draws the arc to represent an interval.
protected voiddrawTick(Graphics2D g2, Rectangle2D meterArea, double value)
Draws a tick.
protected voiddrawTick(Graphics2D g2, Rectangle2D meterArea, double value, boolean label)
Draws a tick on the dial.
protected voiddrawTicks(Graphics2D g2, Rectangle2D meterArea, double minValue, double maxValue)
Draws the ticks that subdivide the overall range.
protected voiddrawValueLabel(Graphics2D g2, Rectangle2D area)
Draws the value label just below the center of the dial.
booleanequals(Object obj)
Tests the plot for equality with an arbitrary object.
protected voidfillArc(Graphics2D g2, Rectangle2D area, double minValue, double maxValue, Paint paint, boolean dial)
Fills an arc on the dial between the given values.
ValueDatasetgetDataset()
Returns the dataset for the plot.
PaintgetDialBackgroundPaint()
Returns the paint for the dial background.
PaintgetDialOutlinePaint()
Returns the dial outline paint.
DialShapegetDialShape()
Returns the dial shape.
booleangetDrawBorder()
Returns a flag that controls whether or not a rectangular border is drawn around the plot area.
ListgetIntervals()
Returns an unmodifiable list of the intervals for the plot.
LegendItemCollectiongetLegendItems()
Returns an item for each interval.
intgetMeterAngle()
Returns the meter angle in degrees.
PaintgetNeedlePaint()
Returns the paint for the needle.
StringgetPlotType()
Returns a short string describing the type of plot.
RangegetRange()
Returns the overall range for the dial.
FontgetTickLabelFont()
Returns the tick label font.
NumberFormatgetTickLabelFormat()
Returns the tick label format.
PaintgetTickLabelPaint()
Returns the tick label paint.
booleangetTickLabelsVisible()
Returns the flag that determines whether or not tick labels are visible.
PaintgetTickPaint()
Returns the paint used to draw the ticks around the dial.
doublegetTickSize()
Returns the tick size (the interval between ticks on the dial).
StringgetUnits()
Returns a string describing the units for the dial.
FontgetValueFont()
Returns the font for the value label.
PaintgetValuePaint()
Returns the paint for the value label.
voidsetDataset(ValueDataset dataset)
Sets the dataset for the plot, replacing the existing dataset if there is one, and triggers a PlotChangeEvent.
voidsetDialBackgroundPaint(Paint paint)
Sets the paint used to fill the dial background.
voidsetDialOutlinePaint(Paint paint)
Sets the dial outline paint and sends a PlotChangeEvent to all registered listeners.
voidsetDialShape(DialShape shape)
Sets the dial shape and sends a PlotChangeEvent to all registered listeners.
voidsetDrawBorder(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.
voidsetMeterAngle(int angle)
Sets the angle (in degrees) for the whole range of the dial and sends a PlotChangeEvent to all registered listeners.
voidsetNeedlePaint(Paint paint)
Sets the paint used to display the needle and sends a PlotChangeEvent to all registered listeners.
voidsetRange(Range range)
Sets the range for the dial and sends a PlotChangeEvent to all registered listeners.
voidsetTickLabelFont(Font font)
Sets the tick label font and sends a PlotChangeEvent to all registered listeners.
voidsetTickLabelFormat(NumberFormat format)
Sets the format for the tick labels and sends a PlotChangeEvent to all registered listeners.
voidsetTickLabelPaint(Paint paint)
Sets the tick label paint and sends a PlotChangeEvent to all registered listeners.
voidsetTickLabelsVisible(boolean visible)
Sets the flag that controls whether or not the tick labels are visible and sends a PlotChangeEvent to all registered listeners.
voidsetTickPaint(Paint paint)
Sets the paint used to draw the tick labels around the dial and sends a PlotChangeEvent to all registered listeners.
voidsetTickSize(double size)
Sets the tick size and sends a PlotChangeEvent to all registered listeners.
voidsetUnits(String units)
Sets the units for the dial and sends a PlotChangeEvent to all registered listeners.
voidsetValueFont(Font font)
Sets the font used to display the value label and sends a PlotChangeEvent to all registered listeners.
voidsetValuePaint(Paint paint)
Sets the paint used to display the value label and sends a PlotChangeEvent to all registered listeners.
doublevalueToAngle(double value)
Translates a data value to an angle on the dial.
voidzoom(double percent)
A zoom method that does nothing.

Field Detail

DEFAULT_BORDER_SIZE

public static final float DEFAULT_BORDER_SIZE
The default border size.

DEFAULT_CIRCLE_SIZE

public static final float DEFAULT_CIRCLE_SIZE
The default circle size.

DEFAULT_LABEL_FONT

public static final Font DEFAULT_LABEL_FONT
The default label font.

DEFAULT_METER_ANGLE

public static final int DEFAULT_METER_ANGLE
The default meter angle.

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

addInterval

public void addInterval(MeterInterval interval)
Adds an interval and sends a PlotChangeEvent to all registered listeners.

Parameters: interval the interval (null not permitted).

See Also: getIntervals clearIntervals

clearIntervals

public void clearIntervals()
Clears the intervals for the plot and sends a PlotChangeEvent to all registered listeners.

See Also: addInterval

clone

public Object clone()
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.

Returns: A clone.

Throws: CloneNotSupportedException if some component of the plot cannot be cloned.

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).

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.

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.

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.

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.

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.

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.

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.

Parameters: obj the object (null permitted).

Returns: A boolean.

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.

getDataset

public ValueDataset getDataset()
Returns the dataset for the plot.

Returns: The dataset (possibly null).

See Also: setDataset

getDialBackgroundPaint

public Paint getDialBackgroundPaint()
Returns the paint for the dial background.

Returns: The paint (possibly null).

See Also: setDialBackgroundPaint

getDialOutlinePaint

public Paint getDialOutlinePaint()
Returns the dial outline paint.

Returns: The paint.

See Also: setDialOutlinePaint

getDialShape

public DialShape getDialShape()
Returns the dial shape. The default is CIRCLE).

Returns: The dial shape (never null).

See Also: setDialShape

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: MeterPlot

getIntervals

public List getIntervals()
Returns an unmodifiable list of the intervals for the plot.

Returns: A list.

See Also: addInterval

getLegendItems

public LegendItemCollection getLegendItems()
Returns an item for each interval.

Returns: A collection of legend items.

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: MeterPlot

getNeedlePaint

public Paint getNeedlePaint()
Returns the paint for the needle.

Returns: The paint (never null).

See Also: setNeedlePaint

getPlotType

public String getPlotType()
Returns a short string describing the type of plot.

Returns: A string describing the type of plot.

getRange

public Range getRange()
Returns the overall range for the dial.

Returns: The overall range (never null).

See Also: setRange

getTickLabelFont

public Font getTickLabelFont()
Returns the tick label font.

Returns: The font (never null).

See Also: setTickLabelFont

getTickLabelFormat

public NumberFormat getTickLabelFormat()
Returns the tick label format.

Returns: The tick label format (never null).

See Also: setTickLabelFormat

getTickLabelPaint

public Paint getTickLabelPaint()
Returns the tick label paint.

Returns: The paint (never null).

See Also: setTickLabelPaint

getTickLabelsVisible

public boolean getTickLabelsVisible()
Returns the flag that determines whether or not tick labels are visible.

Returns: The flag.

See Also: MeterPlot

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

getTickSize

public double getTickSize()
Returns the tick size (the interval between ticks on the dial).

Returns: The tick size.

See Also: MeterPlot

getUnits

public String getUnits()
Returns a string describing the units for the dial.

Returns: The units (possibly null).

See Also: setUnits

getValueFont

public Font getValueFont()
Returns the font for the value label.

Returns: The font (never null).

See Also: setValueFont

getValuePaint

public Paint getValuePaint()
Returns the paint for the value label.

Returns: The paint (never null).

See Also: setValuePaint

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

Parameters: percent The zoom percentage.

Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.