## org.jfree.chart.renderer.category
Class LineAndShapeRenderer

    java.lang.Object
      org.jfree.chart.renderer.AbstractRenderer
          org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
              org.jfree.chart.renderer.category.LineAndShapeRenderer

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable

Direct Known Subclasses:
  DefaultCategoryItemRenderer, LineRenderer3D, StatisticalLineAndShapeRenderer

    public class LineAndShapeRenderer

extends AbstractCategoryItemRenderer
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that draws shapes for each data item, and lines between data items (for use with the `CategoryPlot` class).

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.jfree.chart.renderer.AbstractRenderer
`DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO`

Constructor Summary
`LineAndShapeRenderer()` Constructs a default renderer (draws shapes and lines).
`LineAndShapeRenderer(boolean linesVisible, boolean shapesVisible)` Constructs a new renderer.

Method Summary
`java.lang.Object` `clone()` Returns an independent copy of the renderer.
`void` `drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)` Draw a single data item.
`boolean` `equals(java.lang.Object obj)` Tests this renderer for equality with an arbitrary object.
`java.lang.Boolean` `getDefaultShapesFilled()` Returns the default 'shape filled' attribute.
`boolean` `getItemShapeFilled(int series, int item)` Returns the flag used to control whether or not the shape for an item is filled.
`LegendItem` `getLegendItem(int datasetIndex, int series)` Returns a legend item for a series.
`boolean` `getSeriesShapesFilled(int series)` Returns the flag used to control whether or not the shapes for a series are filled.
`java.lang.Boolean` `getShapesFilled()` Returns the flag that controls whether or not shapes are filled for ALL series.
`boolean` `getUseOutlinePaint()` Returns the flag that controls whether the outline paint is used for shape outlines.
`boolean` `isLinesVisible()` Returns `true` if a line should be drawn from the previous to the current data point, and `false` otherwise.
`boolean` `isShapesVisible()` Returns `true` if a shape should be drawn to represent each data point, and `false` otherwise.
`void` `setDefaultShapesFilled(boolean flag)` Sets the default 'shapes filled' flag.
`void` `setDefaultShapesFilled(java.lang.Boolean flag)` Sets the default 'shapes filled' flag.
`void` `setLinesVisible(boolean visible)` Sets the flag that controls whether or not lines are drawn between consecutive data points.
`void` `setSeriesShapesFilled(int series, boolean filled)` Sets the 'shapes filled' flag for a series.
`void` `setSeriesShapesFilled(int series, java.lang.Boolean filled)` Sets the 'shapes filled' flag for a series.
`void` `setShapesFilled(boolean filled)` Sets the 'shapes filled' for ALL series.
`void` `setShapesFilled(java.lang.Boolean filled)` Sets the 'shapes filled' for ALL series.
`void` `setShapesVisible(boolean visible)` Sets the flag that controls whether or not a shape should be drawn to represent each data point.
`void` `setUseOutlinePaint(boolean use)` Sets the flag that controls whether the outline paint is used for shape outlines.

Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

`drawBackground, drawDomainGridline, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, findRangeBounds, getBaseItemURLGenerator, getBaseLabelGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemURLGenerator, getLabelGenerator, getLegendItems, getPassCount, getPlot, getRangeAxis, getRowCount, getSeriesItemURLGenerator, getSeriesLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemURLGenerator, setBaseLabelGenerator, setBaseToolTipGenerator, setItemURLGenerator, setLabelGenerator, setPlot, setSeriesItemURLGenerator, setSeriesLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator`

Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisibleInLegend, notifyListeners, removeChangeListener, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer

`addChangeListener, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, isItemLabelVisible, isSeriesItemLabelsVisible, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setShape, setStroke`

Constructor Detail

### LineAndShapeRenderer

    public LineAndShapeRenderer()

  Constructs a default renderer (draws shapes and lines).

### LineAndShapeRenderer

    public LineAndShapeRenderer(boolean linesVisible,
                                boolean shapesVisible)

  Constructs a new renderer.

  Parameters:
    `linesVisible` - draw lines?
    `shapesVisible` - draw shapes?

Method Detail

### isShapesVisible

    public boolean isShapesVisible()

  Returns `true` if a shape should be drawn to represent each data point, and `false` otherwise.

  Returns:
    A boolean flag.

### setShapesVisible

    public void setShapesVisible(boolean visible)

  Sets the flag that controls whether or not a shape should be drawn to represent each data point.

  Parameters:
    `visible` - the new value of the flag.

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

### setUseOutlinePaint

    public void setUseOutlinePaint(boolean use)

  Sets the flag that controls whether the outline paint is used for shape outlines.

  Parameters:
    `use` - the flag.

### isLinesVisible

    public boolean isLinesVisible()

  Returns `true` if a line should be drawn from the previous to the current data point, and `false` otherwise.

  Returns:
    A boolean flag.

### setLinesVisible

    public void setLinesVisible(boolean visible)

  Sets the flag that controls whether or not lines are drawn between consecutive data points.

  Parameters:
    `visible` - the new value of the flag.

### 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 java.lang.Boolean getShapesFilled()

  Returns the flag that controls whether or not shapes are filled for ALL series.

  Returns:
    A Boolean.

### setShapesFilled

    public void setShapesFilled(boolean filled)

  Sets the 'shapes filled' for ALL series.

  Parameters:
    `filled` - the flag.

### setShapesFilled

    public void setShapesFilled(java.lang.Boolean filled)

  Sets the 'shapes filled' for ALL series.

  Parameters:
    `filled` - the flag (`null` permitted).

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      java.lang.Boolean filled)

  Sets the 'shapes filled' flag for a series.

  Parameters:
    `series` - the series index (zero-based).
    `filled` - the flag.

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      boolean filled)

  Sets the 'shapes filled' flag for a series.

  Parameters:
    `series` - the series index (zero-based).
    `filled` - the flag.

### getDefaultShapesFilled

    public java.lang.Boolean getDefaultShapesFilled()

  Returns the default 'shape filled' attribute.

  Returns:
    The default flag.

### setDefaultShapesFilled

    public void setDefaultShapesFilled(java.lang.Boolean flag)

  Sets the default 'shapes filled' flag.

  Parameters:
    `flag` - the flag.

### setDefaultShapesFilled

    public void setDefaultShapesFilled(boolean flag)

  Sets the default 'shapes filled' flag.

  Parameters:
    `flag` - the flag.

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

### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                         CategoryItemRendererState state,
                         java.awt.geom.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(java.lang.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 java.lang.Object clone()
                           throws java.lang.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:
    `java.lang.CloneNotSupportedException` - should not happen.