## org.jfree.chart.renderer
Class LineAndShapeRenderer

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

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

Direct Known Subclasses:
  DefaultCategoryItemRenderer

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
`static int` `BOTTOM` Constant indicating that labels are to be shown below data points
`static int` `LEFT` Constant indicating that labels are to be shown left of data points
`static int` `LINES` Useful constant for specifying the type of rendering (lines only).
`static int` `RIGHT` Constant indicating that labels are to be shown right of data points
`static int` `SHAPES` Useful constant for specifying the type of rendering (shapes only).
`static int` `SHAPES_AND_LINES` Useful constant for specifying the type of rendering (shapes and lines).
`static int` `TOP` Constant indicating that labels are to be shown above data points

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(int type)` Constructs a renderer of the specified type.

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)` Draw a single data item.
`boolean` `equals(java.lang.Object obj)` Tests this renderer for equality with another 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.
`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` `getUseFillPaintForShapeOutline()` Returns the flag that controls whether the fill paint is used for shape outlines.
`boolean` `isDrawLines()` Returns `true` if a line should be drawn from the previous to the current data point, and `false` otherwise.
`boolean` `isDrawShapes()` 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` `setDrawLines(boolean draw)` Sets the flag that controls whether or not lines are drawn between consecutive data points.
`void` `setDrawShapes(boolean draw)` Sets the flag that controls whether or not a shape should be drawn to represent each data point.
`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` `setUseFillPaintForShapeOutline(boolean use)` Sets the flag that controls whether the fill paint is used for shape outlines.

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

`drawBackground, drawDomainGridline, drawItemLabel, drawOutline, drawRangeGridline, drawRangeMarker, getBaseItemURLGenerator, getBaseLabelGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemURLGenerator, getLabelGenerator, getLegendItem, getPlot, getRangeAxis, getRangeExtent, 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, createTransformedShape, getBaseItemLabelAnchor, getBaseItemLabelAngle, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelRotationAnchor, getBaseItemLabelsVisible, getBaseItemLabelTextAnchor, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseShape, getBaseStroke, getItemLabelAnchor, getItemLabelAnchorOffset, getItemLabelAngle, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemLabelRotationAnchor, getItemLabelTextAnchor, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelAnchor, getSeriesItemLabelAngle, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesItemLabelRotationAnchor, getSeriesItemLabelTextAnchor, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, isItemLabelVisible, isSeriesItemLabelsVisible, notifyListeners, removeChangeListener, setBaseAngle, setBaseItemLabelAnchor, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelRotationAnchor, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelTextAnchor, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setItemLabelAnchor, setItemLabelAnchorOffset, setItemLabelAngle, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelRotationAnchor, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setItemLabelTextAnchor, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesAngle, setSeriesItemLabelAnchor, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelRotationAnchor, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelTextAnchor, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, 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.CategoryItemRenderer

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

Field Detail

### SHAPES

    public static final int SHAPES

  Useful constant for specifying the type of rendering (shapes only).

  See Also:
    Constant Field Values

### LINES

    public static final int LINES

  Useful constant for specifying the type of rendering (lines only).

  See Also:
    Constant Field Values

### SHAPES_AND_LINES

    public static final int SHAPES_AND_LINES

  Useful constant for specifying the type of rendering (shapes and lines).

  See Also:
    Constant Field Values

### TOP

    public static final int TOP

  Constant indicating that labels are to be shown above data points

  See Also:
    Constant Field Values

### BOTTOM

    public static final int BOTTOM

  Constant indicating that labels are to be shown below data points

  See Also:
    Constant Field Values

### LEFT

    public static final int LEFT

  Constant indicating that labels are to be shown left of data points

  See Also:
    Constant Field Values

### RIGHT

    public static final int RIGHT

  Constant indicating that labels are to be shown right of data points

  See Also:
    Constant Field Values

Constructor Detail

### LineAndShapeRenderer

    public LineAndShapeRenderer()

  Constructs a default renderer (draws shapes and lines).

### LineAndShapeRenderer

    public LineAndShapeRenderer(int type)

  Constructs a renderer of the specified type.

  Use one of the constants SHAPES, LINES or SHAPES_AND_LINES.

Parameters:
  `type` - the type of renderer.

Method Detail

### getUseFillPaintForShapeOutline

    public boolean getUseFillPaintForShapeOutline()

  Returns the flag that controls whether the fill paint is used for shape outlines.

  Returns:
    A boolean.

### setUseFillPaintForShapeOutline

    public void setUseFillPaintForShapeOutline(boolean use)

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

  Parameters:
    `use` - the flag.

### isDrawShapes

    public boolean isDrawShapes()

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

  Returns:
    A boolean flag.

### setDrawShapes

    public void setDrawShapes(boolean draw)

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

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

### isDrawLines

    public boolean isDrawLines()

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

  Returns:
    A boolean flag.

### setDrawLines

    public void setDrawLines(boolean draw)

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

  Parameters:
    `draw` - 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.

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

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

### equals

    public boolean equals(java.lang.Object obj)

  Tests this renderer for equality with another object.

  Overrides:
    `equals` in class `AbstractCategoryItemRenderer`
  Parameters:
    `obj` - the object.
  Returns:
    `true` or `false`.

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