Class JRBaseMeterPlot

java.lang.Object
net.sf.jasperreports.charts.base.JRBaseChartPlot
net.sf.jasperreports.charts.base.JRBaseMeterPlot
All Implemented Interfaces:
Serializable, Cloneable, JRChartPlot, JRMeterPlot, JRChangeEventsSupport, JRCloneable
Direct Known Subclasses:
JRDesignMeterPlot

public class JRBaseMeterPlot extends JRBaseChartPlot implements JRMeterPlot
An immutable representation of the layout of a Meter chart.
Author:
Barry Klawans (bklawans@users.sourceforge.net)
See Also:
  • Field Details

    • dataRange

      protected JRDataRange dataRange
      The range displayed by the Meter.
    • valueDisplay

      protected JRValueDisplay valueDisplay
      Formatting information for the textual display of the value.
    • shape

      protected MeterShapeEnum shape
      The shape to use when drawing the Meter. Only applied if the meter is over 180 degrees wide and less than a full circle.
    • intervals

      protected List<JRMeterInterval> intervals
      The defined intervals for the Meter. Each interval indicates a subsection of the meter and a color to use for that section.
    • meterAngle

      protected Integer meterAngle
      The extend of the meter face in degrees. It will always be centered around the straight up position.
    • units

      protected String units
      Optional description of what the meter is displaying. It will be appended to the textual representation of the value.
    • tickInterval

      protected Double tickInterval
      How often to draw ticks around the face of the meter. The interval is relative to the meter range - if the meter displays 100 to 200 and the tickInterval is 20, there will be 4 ticks at 120, 140, 160 and 180.
    • meterBackgroundColor

      protected Color meterBackgroundColor
      The color to use for the face of the meter.
    • needleColor

      protected Color needleColor
      The color to use for the pointer on the meter.
    • tickColor

      protected Color tickColor
      The color to use for each tick on the face of the meter.
    • tickCount

      protected Integer tickCount
      The number of major ticks on the meter scale.
    • tickLabelFont

      protected JRFont tickLabelFont
      The font to use when writing tick labels.
  • Constructor Details

    • JRBaseMeterPlot

      public JRBaseMeterPlot(JRChartPlot plot, JRChart chart)
      Constructs a copy of an existing meter.
      Parameters:
      plot - the plot to copy
    • JRBaseMeterPlot

      public JRBaseMeterPlot(JRMeterPlot meterPlot, ChartsBaseObjectFactory factory)
      Constructs a copy of an existing meter and registers all expressions maintained by the meter plot with a factory.
      Parameters:
      meterPlot - the meter to copy
      factory - the factory to register expressions with
  • Method Details

    • getDataRange

      public JRDataRange getDataRange()
      Description copied from interface: JRMeterPlot
      Returns the range of values that the Meter can display.
      Specified by:
      getDataRange in interface JRMeterPlot
      Returns:
      the range of values that the Meter can display
    • getValueDisplay

      public JRValueDisplay getValueDisplay()
      Description copied from interface: JRMeterPlot
      Returns a description of how the value of the Meter is displayed. This includes any font and color information, the location of the value, a formatting mask and an optional "units" string to append to the value.
      Specified by:
      getValueDisplay in interface JRMeterPlot
      Returns:
      a description of how the value of the Meter is displayed.
    • getShape

      public MeterShapeEnum getShape()
      Description copied from interface: JRMeterPlot
      Returns the shape of the Meter. The shape is only relevant if the Meter face is over 180 degrees wide, and controls how the portion of the circle described by the Meter but outside of the Meter is drawn. (If the meter is 240 degrees wide the shape setting controls how the remaining 120 degrees is displayed.)

      The value returned is one of the shape constants defined in MeterShapeEnum.
      Specified by:
      getShape in interface JRMeterPlot
      Returns:
      a description of how the value of the Meter is displayed.
    • getIntervals

      public List<JRMeterInterval> getIntervals()
      Description copied from interface: JRMeterPlot
      Returns a list of all the intervals contained in this Meter. The return value is never null but can be an empty list. Each element in the list is a JRMeterInterval
      Specified by:
      getIntervals in interface JRMeterPlot
      Returns:
      a list of all the intervals contained in this Meter
    • getMeterAngle

      public Integer getMeterAngle()
      Description copied from interface: JRMeterPlot
      Returns the size of the Meter face in degrees. By default the meter dial is a semicircle.
      Specified by:
      getMeterAngle in interface JRMeterPlot
      Returns:
      the size of the Meter face in degrees
    • getUnits

      public String getUnits()
      Description copied from interface: JRMeterPlot
      Returns the name of the units that the Meter is displaying. This value will be appended to the value when displayed.
      Specified by:
      getUnits in interface JRMeterPlot
      Returns:
      the name of the units that the Meter is displaying
    • getTickInterval

      public Double getTickInterval()
      Description copied from interface: JRMeterPlot
      Returns the spacing between the ticks on the face of the meter. The spacing is relative to the range that the meter is displaying - if the range is 0 to 500 and the tick interval is 50 then 10 ticks will be displayed.
      Specified by:
      getTickInterval in interface JRMeterPlot
      Returns:
      the spacing between the ticks on the face of the meter
    • getMeterBackgroundColor

      public Color getMeterBackgroundColor()
      Description copied from interface: JRMeterPlot
      Returns the background color of the meter. This is the color of the meter's face.
      Specified by:
      getMeterBackgroundColor in interface JRMeterPlot
      Returns:
      the background color of the meter.
    • getNeedleColor

      public Color getNeedleColor()
      Description copied from interface: JRMeterPlot
      Returns the color used when drawing the meter's pointer.
      Specified by:
      getNeedleColor in interface JRMeterPlot
      Returns:
      the color used when drawing the meter's pointer
    • getTickColor

      public Color getTickColor()
      Description copied from interface: JRMeterPlot
      Returns the color used when drawing tick marks on the meter.
      Specified by:
      getTickColor in interface JRMeterPlot
      Returns:
      the color used when drawing tick marks on the meter
    • getTickCount

      public Integer getTickCount()
      Description copied from interface: JRMeterPlot
      Returns the number of major ticks on the meter scale.
      Specified by:
      getTickCount in interface JRMeterPlot
      Returns:
      the spacing between the ticks on the face of the meter
    • getTickLabelFont

      public JRFont getTickLabelFont()
      Description copied from interface: JRMeterPlot
      Returns the font used to write tick labels on the meter.
      Specified by:
      getTickLabelFont in interface JRMeterPlot
      Returns:
      the font used to write tick labels on the meter
    • collectExpressions

      public void collectExpressions(ChartsExpressionCollector collector)
      Adds all the expression used by this plot with the specified collector. All collected expression that are also registered with a factory will be included with the report is compiled.
      Specified by:
      collectExpressions in interface JRChartPlot
      Parameters:
      collector - the expression collector to use
    • clone

      public Object clone(JRChart parentChart)
      Specified by:
      clone in interface JRChartPlot
      Overrides:
      clone in class JRBaseChartPlot