Class LineAndShapeRenderer

All Implemented Interfaces:
Serializable, Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable
Direct Known Subclasses:
DefaultCategoryItemRenderer, LineRenderer3D, StatisticalLineAndShapeRenderer

public class LineAndShapeRenderer extends AbstractCategoryItemRenderer implements Cloneable, org.jfree.util.PublicCloneable, Serializable
A renderer that draws shapes for each data item, and lines between data items (for use with the CategoryPlot class). The example shown here is generated by the LineChartDemo1.java program included in the JFreeChart Demo Collection:

LineAndShapeRendererSample.png
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • linesVisible

      private Boolean linesVisible
      Deprecated.
      As of 1.0.7 (this override flag is unnecessary).
      A flag that controls whether or not lines are visible for ALL series.
    • seriesLinesVisible

      private org.jfree.util.BooleanList seriesLinesVisible
      A table of flags that control (per series) whether or not lines are visible.
    • baseLinesVisible

      private boolean baseLinesVisible
      A flag indicating whether or not lines are drawn between non-null points.
    • shapesVisible

      private Boolean shapesVisible
      Deprecated.
      As of 1.0.7 (this override flag is unnecessary).
      A flag that controls whether or not shapes are visible for ALL series.
    • seriesShapesVisible

      private org.jfree.util.BooleanList seriesShapesVisible
      A table of flags that control (per series) whether or not shapes are visible.
    • baseShapesVisible

      private boolean baseShapesVisible
      The default value returned by the getShapeVisible() method.
    • shapesFilled

      private Boolean shapesFilled
      Deprecated.
      As of 1.0.7 (this override flag is unnecessary).
      A flag that controls whether or not shapes are filled for ALL series.
    • seriesShapesFilled

      private org.jfree.util.BooleanList seriesShapesFilled
      A table of flags that control (per series) whether or not shapes are filled.
    • baseShapesFilled

      private boolean baseShapesFilled
      The default value returned by the getShapeFilled() method.
    • useFillPaint

      private boolean useFillPaint
      A flag that controls whether the fill paint is used for filling shapes.
    • drawOutlines

      private boolean drawOutlines
      A flag that controls whether outlines are drawn for shapes.
    • useOutlinePaint

      private boolean useOutlinePaint
      A flag that controls whether the outline paint is used for drawing shape outlines - if not, the regular series paint is used.
    • useSeriesOffset

      private boolean useSeriesOffset
      A flag that controls whether or not the x-position for each item is offset within the category according to the series.
      Since:
      1.0.7
    • itemMargin

      private double itemMargin
      The item margin used for series offsetting - this allows the positioning to match the bar positions of the BarRenderer class.
      Since:
      1.0.7
  • Constructor Details

    • LineAndShapeRenderer

      public LineAndShapeRenderer()
      Creates a renderer with both lines and shapes visible by default.
    • LineAndShapeRenderer

      public LineAndShapeRenderer(boolean lines, boolean shapes)
      Creates a new renderer with lines and/or shapes visible.
      Parameters:
      lines - draw lines?
      shapes - draw shapes?
  • Method Details

    • getItemLineVisible

      public boolean getItemLineVisible(int series, int item)
      Returns the flag used to control whether or not the line for an item is visible.
      Parameters:
      series - the series index (zero-based).
      item - the item index (zero-based).
      Returns:
      A boolean.
    • getLinesVisible

      public Boolean getLinesVisible()
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Returns a flag that controls whether or not lines are drawn for ALL series. If this flag is null, then the "per series" settings will apply.
      Returns:
      A flag (possibly null).
      See Also:
    • setLinesVisible

      public void setLinesVisible(Boolean visible)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners. You need to set this to null if you want the "per series" settings to apply.
      Parameters:
      visible - the flag (null permitted).
      See Also:
    • setLinesVisible

      public void setLinesVisible(boolean visible)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets a flag that controls whether or not lines are drawn between the items in ALL series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag.
      See Also:
    • getSeriesLinesVisible

      public Boolean getSeriesLinesVisible(int series)
      Returns the flag used to control whether or not the lines for a series are visible.
      Parameters:
      series - the series index (zero-based).
      Returns:
      The flag (possibly null).
      See Also:
    • setSeriesLinesVisible

      public void setSeriesLinesVisible(int series, Boolean flag)
      Sets the 'lines visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      flag - the flag (null permitted).
      See Also:
    • setSeriesLinesVisible

      public void setSeriesLinesVisible(int series, boolean visible)
      Sets the 'lines visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag.
      See Also:
    • getBaseLinesVisible

      public boolean getBaseLinesVisible()
      Returns the base 'lines visible' attribute.
      Returns:
      The base flag.
      See Also:
    • setBaseLinesVisible

      public void setBaseLinesVisible(boolean flag)
      Sets the base 'lines visible' flag and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      flag - the flag.
      See Also:
    • getItemShapeVisible

      public boolean getItemShapeVisible(int series, int item)
      Returns the flag used to control whether or not the shape for an item is visible.
      Parameters:
      series - the series index (zero-based).
      item - the item index (zero-based).
      Returns:
      A boolean.
    • getShapesVisible

      public Boolean getShapesVisible()
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Returns the flag that controls whether the shapes are visible for the items in ALL series.
      Returns:
      The flag (possibly null).
      See Also:
    • setShapesVisible

      public void setShapesVisible(Boolean visible)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag (null permitted).
      See Also:
    • setShapesVisible

      public void setShapesVisible(boolean visible)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets the 'shapes visible' for ALL series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      visible - the flag.
      See Also:
    • getSeriesShapesVisible

      public Boolean getSeriesShapesVisible(int series)
      Returns the flag used to control whether or not the shapes for a series are visible.
      Parameters:
      series - the series index (zero-based).
      Returns:
      A boolean.
      See Also:
    • setSeriesShapesVisible

      public void setSeriesShapesVisible(int series, boolean visible)
      Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      visible - the flag.
      See Also:
    • setSeriesShapesVisible

      public void setSeriesShapesVisible(int series, Boolean flag)
      Sets the 'shapes visible' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      flag - the flag.
      See Also:
    • getBaseShapesVisible

      public boolean getBaseShapesVisible()
      Returns the base 'shape visible' attribute.
      Returns:
      The base flag.
      See Also:
    • setBaseShapesVisible

      public void setBaseShapesVisible(boolean flag)
      Sets the base 'shapes visible' flag and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      flag - the flag.
      See Also:
    • getDrawOutlines

      public boolean getDrawOutlines()
      Returns true if outlines should be drawn for shapes, and false otherwise.
      Returns:
      A boolean.
      See Also:
    • setDrawOutlines

      public void setDrawOutlines(boolean flag)
      Sets the flag that controls whether outlines are drawn for shapes, and sends a RendererChangeEvent to all registered listeners.

      In some cases, shapes look better if they do NOT have an outline, but this flag allows you to set your own preference.

      Parameters:
      flag - the flag.
      See Also:
    • getUseOutlinePaint

      public boolean getUseOutlinePaint()
      Returns the flag that controls whether the outline paint is used for shape outlines. If not, the regular series paint is used.
      Returns:
      A boolean.
      See Also:
    • setUseOutlinePaint

      public void setUseOutlinePaint(boolean use)
      Sets the flag that controls whether the outline paint is used for shape outlines, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      use - the flag.
      See Also:
    • getItemShapeFilled

      public boolean getItemShapeFilled(int series, int item)
      Returns the flag used to control whether or not the shape for an item is filled. The default implementation passes control to the getSeriesShapesFilled method. You can override this method if you require different behaviour.
      Parameters:
      series - the series index (zero-based).
      item - the item index (zero-based).
      Returns:
      A boolean.
    • getSeriesShapesFilled

      public boolean getSeriesShapesFilled(int series)
      Returns the flag used to control whether or not the shapes for a series are filled.
      Parameters:
      series - the series index (zero-based).
      Returns:
      A boolean.
    • getShapesFilled

      public Boolean getShapesFilled()
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Returns the flag that controls whether or not shapes are filled for ALL series.
      Returns:
      A Boolean.
      See Also:
    • setShapesFilled

      public void setShapesFilled(boolean filled)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      filled - the flag.
      See Also:
    • setShapesFilled

      public void setShapesFilled(Boolean filled)
      Deprecated.
      As of 1.0.7 (the override facility is unnecessary, just use the per-series and base (default) settings).
      Sets the 'shapes filled' for ALL series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      filled - the flag (null permitted).
      See Also:
    • setSeriesShapesFilled

      public void setSeriesShapesFilled(int series, Boolean filled)
      Sets the 'shapes filled' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      filled - the flag.
      See Also:
    • setSeriesShapesFilled

      public void setSeriesShapesFilled(int series, boolean filled)
      Sets the 'shapes filled' flag for a series and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      series - the series index (zero-based).
      filled - the flag.
      See Also:
    • getBaseShapesFilled

      public boolean getBaseShapesFilled()
      Returns the base 'shape filled' attribute.
      Returns:
      The base flag.
      See Also:
    • setBaseShapesFilled

      public void setBaseShapesFilled(boolean flag)
      Sets the base 'shapes filled' flag and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      flag - the flag.
      See Also:
    • getUseFillPaint

      public boolean getUseFillPaint()
      Returns true if the renderer should use the fill paint setting to fill shapes, and false if it should just use the regular paint.
      Returns:
      A boolean.
      See Also:
    • setUseFillPaint

      public void setUseFillPaint(boolean flag)
      Sets the flag that controls whether the fill paint is used to fill shapes, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      flag - the flag.
      See Also:
    • getUseSeriesOffset

      public boolean getUseSeriesOffset()
      Returns the flag that controls whether or not the x-position for each data item is offset within the category according to the series.
      Returns:
      A boolean.
      Since:
      1.0.7
      See Also:
    • setUseSeriesOffset

      public void setUseSeriesOffset(boolean offset)
      Sets the flag that controls whether or not the x-position for each data item is offset within its category according to the series, and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      offset - the offset.
      Since:
      1.0.7
      See Also:
    • getItemMargin

      public double getItemMargin()
      Returns the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width). This can be used to match the offset alignment with the bars drawn by a BarRenderer).
      Returns:
      The item margin.
      Since:
      1.0.7
      See Also:
    • setItemMargin

      public void setItemMargin(double margin)
      Sets the item margin, which is the gap between items within a category (expressed as a percentage of the overall category width), and sends a RendererChangeEvent to all registered listeners.
      Parameters:
      margin - the margin (0.0 <= margin < 1.0).
      Since:
      1.0.7
      See Also:
    • 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:
    • getPassCount

      public int getPassCount()
      This renderer uses two passes to draw the data.
      Specified by:
      getPassCount in interface CategoryItemRenderer
      Overrides:
      getPassCount in class AbstractCategoryItemRenderer
      Returns:
      The pass count (2 for this renderer).
    • 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.
    • clone

      public Object clone() throws CloneNotSupportedException
      Returns an independent copy of the renderer.
      Specified by:
      clone in interface org.jfree.util.PublicCloneable
      Overrides:
      clone in class AbstractCategoryItemRenderer
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - should not happen.