Module platform

Class CategoryStepRenderer

All Implemented Interfaces:
Serializable, Cloneable, LegendItemSource, CategoryItemRenderer, PublicCloneable

public class CategoryStepRenderer extends AbstractCategoryItemRenderer implements Cloneable, PublicCloneable, Serializable
A "step" renderer similar to XYStepRenderer but that can be used with the CategoryPlot class. The example shown here is generated by the CategoryStepChartDemo1.java program included in the JFreeChart Demo Collection:

CategoryStepRendererSample.png
See Also:
  • Field Details

    • STAGGER_WIDTH

      public static final int STAGGER_WIDTH
      The stagger width.
      See Also:
  • Constructor Details

    • CategoryStepRenderer

      public CategoryStepRenderer()
      Creates a new renderer (stagger defaults to false).
    • CategoryStepRenderer

      public CategoryStepRenderer(boolean stagger)
      Creates a new renderer.
      Parameters:
      stagger - should the horizontal part of the step be staggered by series?
  • Method Details

    • getStagger

      public boolean getStagger()
      Returns the flag that controls whether the series steps are staggered.
      Returns:
      A boolean.
    • setStagger

      public void setStagger(boolean shouldStagger)
      Sets the flag that controls whether or not the series steps are staggered and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      shouldStagger - a boolean.
    • getLegendItem

      public LegendItem getLegendItem(int datasetIndex, int series)
      Returns a legend item for a series.
      Specified by:
      getLegendItem in interface CategoryItemRenderer
      Overrides:
      getLegendItem in class AbstractCategoryItemRenderer
      Parameters:
      datasetIndex - the dataset index (zero-based).
      series - the series index (zero-based).
      Returns:
      The legend item.
      See Also:
    • createState

      protected CategoryItemRendererState createState(PlotRenderingInfo info)
      Creates a new state instance. This method is called from AbstractCategoryItemRenderer.initialise(Graphics2D, Rectangle2D, CategoryPlot, int, PlotRenderingInfo), and we override it to ensure that the state contains a working Line2D instance.
      Overrides:
      createState in class AbstractCategoryItemRenderer
      Parameters:
      info - the plot rendering info (null is permitted).
      Returns:
      A new state instance.
    • drawLine

      protected void drawLine(Graphics2D g2, CategoryStepRenderer.State state, PlotOrientation orientation, double x0, double y0, double x1, double y1)
      Draws a line taking into account the specified orientation.

      In version 1.0.5, the signature of this method was changed by the addition of the 'state' parameter. This is an incompatible change, but is considered a low risk because it is unlikely that anyone has subclassed this renderer. If this *does* cause trouble for you, please report it as a bug.

      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      orientation - the plot orientation.
      x0 - the x-coordinate for the start of the line.
      y0 - the y-coordinate for the start of the line.
      x1 - the x-coordinate for the end of the line.
      y1 - the y-coordinate for the end of the line.
    • drawItem

      public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)
      Draw a single data item.
      Specified by:
      drawItem in interface CategoryItemRenderer
      Parameters:
      g2 - the graphics device.
      state - the renderer state.
      dataArea - the area in which the data is drawn.
      plot - the plot.
      domainAxis - the domain axis.
      rangeAxis - the range axis.
      dataset - the dataset.
      row - the row index (zero-based).
      column - the column index (zero-based).
      pass - the pass index.
    • equals

      public boolean equals(Object obj)
      Tests this renderer for equality with an arbitrary object.
      Overrides:
      equals in class AbstractCategoryItemRenderer
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.