## org.jfree.chart.renderer
Class XYLineAndShapeRenderer

    java.lang.Object
      org.jfree.chart.renderer.AbstractRenderer
          org.jfree.chart.renderer.AbstractXYItemRenderer
              org.jfree.chart.renderer.XYLineAndShapeRenderer

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

public class XYLineAndShapeRenderer
extends AbstractXYItemRenderer
implements XYItemRenderer, java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A renderer that can be used with the `XYPlot` 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
`XYLineAndShapeRenderer()` Creates a new renderer with default settings.

Method Summary
`java.lang.Object` `clone()` Returns a clone of the renderer.
`void` `drawItem(java.awt.Graphics2D g2, XYItemRendererState state, java.awt.geom.Rectangle2D dataArea, PlotRenderingInfo info, XYPlot plot, ValueAxis domainAxis, ValueAxis rangeAxis, XYDataset dataset, int series, int item, CrosshairState crosshairState, int pass)` Draws the visual representation of a single data item.
`boolean` `equals(java.lang.Object obj)` Tests this renderer for equality with another object.
`boolean` `getDefaultLinesVisible()` Returns the default 'lines visible' attribute.
`boolean` `getDefaultShapesFilled()` Returns the default 'shape filled' attribute.
`boolean` `getDefaultShapesVisible()` Returns the default 'shape visible' attribute.
`boolean` `getDrawOutlines()` Returns `true` if outlines should be drawn for filled shapes, and `false` otherwise.
`boolean` `getItemLineVisible(int series, int item)` Returns the flag used to control whether or not the shape for an item is visible.
`boolean` `getItemShapeFilled(int series, int item)` Returns the flag used to control whether or not the shape for an item is filled.
`boolean` `getItemShapeVisible(int series, int item)` Returns the flag used to control whether or not the shape for an item is visible.
`java.lang.Boolean` `getLinesVisible()` Returns a flag that controls whether or not lines are drawn for ALL series.
`int` `getPassCount()` Returns the number of passes through the data that the renderer requires in order to draw the chart.
`java.lang.Boolean` `getSeriesLinesVisible(int series)` Returns the flag used to control whether or not the lines for a series are visible.
`java.lang.Boolean` `getSeriesShapesFilled(int series)` Returns the flag used to control whether or not the shapes for a series are filled.
`java.lang.Boolean` `getSeriesShapesVisible(int series)` Returns the flag used to control whether or not the shapes for a series are visible.
`java.lang.Boolean` `getShapesVisible()` Returns the flag that controls whether the shapes are visible for the items in ALL series.
`boolean` `getUseOutlinePaint()` Returns `true` if the renderer should use the outline paint setting to draw shape outlines, and `false` if it should just use the regular paint.
`XYItemRendererState` `initialise(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, XYPlot plot, XYDataset data, PlotRenderingInfo info)` Initialises the renderer.
`void` `setDefaultLinesVisible(boolean flag)` Sets the default 'lines visible' flag.
`void` `setDefaultShapesFilled(boolean flag)` Sets the default 'shapes filled' flag.
`void` `setDefaultShapesVisible(boolean flag)` Sets the default 'shapes visible' flag.
`void` `setDrawOutlines(boolean flag)` Sets the flag that controls whether outlines are drawn for filled shapes, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setLinesVisible(boolean visible)` 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.
`void` `setLinesVisible(java.lang.Boolean visible)` 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.
`void` `setSeriesLinesVisible(int series, boolean visible)` Sets the 'lines visible' flag for a series.
`void` `setSeriesLinesVisible(int series, java.lang.Boolean flag)` Sets the 'lines visible' flag for a series.
`void` `setSeriesShapesFilled(int series, boolean flag)` Sets the 'shapes filled' flag for a series.
`void` `setSeriesShapesFilled(int series, java.lang.Boolean flag)` Sets the 'shapes filled' flag for a series.
`void` `setSeriesShapesVisible(int series, boolean visible)` Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setSeriesShapesVisible(int series, java.lang.Boolean flag)` Sets the 'shapes visible' flag for a series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesFilled(boolean filled)` Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesFilled(java.lang.Boolean filled)` Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesVisible(boolean visible)` Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setShapesVisible(java.lang.Boolean visible)` Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.
`void` `setUseOutlinePaint(boolean flag)` Sets the flag that controls whether the outline paint is used to draw shape outlines, and sends a `RendererChangeEvent` to all registered listeners.

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

`drawDomainGridLine, drawDomainMarker, drawItemLabel, drawRangeGridLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, getBaseLabelGenerator, getBaseToolTipGenerator, getDrawingSupplier, getLabelGenerator, getLegendItem, getPlot, getRangeExtent, getRangeType, getSeriesLabelGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, setBaseLabelGenerator, setBaseToolTipGenerator, setLabelGenerator, setPlot, setSeriesLabelGenerator, setSeriesToolTipGenerator, setToolTipGenerator, setURLGenerator, updateCrosshairValues`

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, hashCode, 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.XYItemRenderer

`addChangeListener, drawDomainGridLine, drawDomainMarker, drawRangeGridLine, drawRangeMarker, fillDomainGridBand, fillRangeGridBand, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLabelGenerator, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseShape, getBaseStroke, getBaseToolTipGenerator, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getLabelGenerator, getLegendItem, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPlot, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getRangeExtent, getRangeType, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesLabelGenerator, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesToolTipGenerator, getToolTipGenerator, getURLGenerator, isItemLabelVisible, isSeriesItemLabelsVisible, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLabelGenerator, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseShape, setBaseStroke, setBaseToolTipGenerator, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLabelGenerator, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPlot, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesLabelGenerator, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesToolTipGenerator, setShape, setStroke, setToolTipGenerator, setURLGenerator`

Constructor Detail

### XYLineAndShapeRenderer

    public XYLineAndShapeRenderer()

  Creates a new renderer with default settings.

Method Detail

### getPassCount

    public int getPassCount()

  Returns the number of passes through the data that the renderer requires in order to draw the chart. Most charts will require a single pass, but some require two passes.

  Specified by:
    `getPassCount` in interface `XYItemRenderer`
  Overrides:
    `getPassCount` in class `AbstractXYItemRenderer`
  Returns:
    The pass count.

### getItemLineVisible

    public boolean getItemLineVisible(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.

### getLinesVisible

    public java.lang.Boolean getLinesVisible()

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

### setLinesVisible

    public void setLinesVisible(java.lang.Boolean visible)

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

### setLinesVisible

    public void setLinesVisible(boolean visible)

  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.

### getSeriesLinesVisible

    public java.lang.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`).

### setSeriesLinesVisible

    public void setSeriesLinesVisible(int series,
                                      java.lang.Boolean flag)

  Sets the 'lines visible' flag for a series.

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

### setSeriesLinesVisible

    public void setSeriesLinesVisible(int series,
                                      boolean visible)

  Sets the 'lines visible' flag for a series.

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

### getDefaultLinesVisible

    public boolean getDefaultLinesVisible()

  Returns the default 'lines visible' attribute.

  Returns:
    The default flag.

### setDefaultLinesVisible

    public void setDefaultLinesVisible(boolean flag)

  Sets the default 'lines visible' flag.

  Parameters:
    `flag` - the flag.

### getItemShapeVisible

    public boolean getItemShapeVisible(int series,
                                       int item)

  Returns the flag used to control whether or not the shape for an item is visible.

  The default implementation passes control to the `getSeriesShapesVisible` 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.

### getShapesVisible

    public java.lang.Boolean getShapesVisible()

  Returns the flag that controls whether the shapes are visible for the items in ALL series.

  Returns:
    The flag (possibly `null`).

### setShapesVisible

    public void setShapesVisible(java.lang.Boolean visible)

  Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

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

### setShapesVisible

    public void setShapesVisible(boolean visible)

  Sets the 'shapes visible' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `visible` - the flag.

### getSeriesShapesVisible

    public java.lang.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.

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

### setSeriesShapesVisible

    public void setSeriesShapesVisible(int series,
                                       java.lang.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.

### getDefaultShapesVisible

    public boolean getDefaultShapesVisible()

  Returns the default 'shape visible' attribute.

  Returns:
    The default flag.

### setDefaultShapesVisible

    public void setDefaultShapesVisible(boolean flag)

  Sets the default 'shapes visible' flag.

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

### setShapesFilled

    public void setShapesFilled(boolean filled)

  Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `filled` - the flag.

### setShapesFilled

    public void setShapesFilled(java.lang.Boolean filled)

  Sets the 'shapes filled' for ALL series and sends a `RendererChangeEvent` to all registered listeners.

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

### getSeriesShapesFilled

    public java.lang.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.

### setSeriesShapesFilled

    public void setSeriesShapesFilled(int series,
                                      boolean flag)

  Sets the 'shapes filled' flag for a series.

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

### setSeriesShapesFilled

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

  Sets the 'shapes filled' flag for a series.

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

### getDefaultShapesFilled

    public boolean getDefaultShapesFilled()

  Returns the default 'shape filled' attribute.

  Returns:
    The default flag.

### setDefaultShapesFilled

    public void setDefaultShapesFilled(boolean flag)

  Sets the default 'shapes filled' flag.

  Parameters:
    `flag` - the flag.

### getDrawOutlines

    public boolean getDrawOutlines()

  Returns `true` if outlines should be drawn for filled shapes, and `false` otherwise.

  Returns:
    A boolean.

### setDrawOutlines

    public void setDrawOutlines(boolean flag)

  Sets the flag that controls whether outlines are drawn for filled 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.

### getUseOutlinePaint

    public boolean getUseOutlinePaint()

  Returns `true` if the renderer should use the outline paint setting to draw shape outlines, and `false` if it should just use the regular paint.

  Returns:
    A boolean.

### setUseOutlinePaint

    public void setUseOutlinePaint(boolean flag)

  Sets the flag that controls whether the outline paint is used to draw shape outlines, and sends a `RendererChangeEvent` to all registered listeners.

  Parameters:
    `flag` - the flag.

### initialise

    public XYItemRendererState initialise(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D dataArea,
                                          XYPlot plot,
                                          XYDataset data,
                                          PlotRenderingInfo info)

  Initialises the renderer.

  This method will be called before the first item is rendered, giving the renderer an opportunity to initialise any state information it wants to maintain. The renderer can do nothing if it chooses.

  Specified by:
    `initialise` in interface `XYItemRenderer`
  Overrides:
    `initialise` in class `AbstractXYItemRenderer`
  Parameters:
    `g2` - the graphics device.
    `dataArea` - the area inside the axes.
    `plot` - the plot.
    `data` - the data.
    `info` - an optional info collection object to return data back to the caller.
  Returns:
    The renderer state.

### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                         XYItemRendererState state,
                         java.awt.geom.Rectangle2D dataArea,
                         PlotRenderingInfo info,
                         XYPlot plot,
                         ValueAxis domainAxis,
                         ValueAxis rangeAxis,
                         XYDataset dataset,
                         int series,
                         int item,
                         CrosshairState crosshairState,
                         int pass)

  Draws the visual representation of a single data item.

  Specified by:
    `drawItem` in interface `XYItemRenderer`
  Parameters:
    `g2` - the graphics device.
    `state` - the renderer state.
    `dataArea` - the area within which the data is being drawn.
    `info` - collects information about the drawing.
    `plot` - the plot (can be used to obtain standard color information etc).
    `domainAxis` - the domain axis.
    `rangeAxis` - the range axis.
    `dataset` - the dataset.
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
    `crosshairState` - crosshair information for the plot (`null` permitted).
    `pass` - the pass index.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the renderer.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractXYItemRenderer`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the clone cannot be created.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this renderer for equality with another object.

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