Class StandardXYItemRenderer

    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • SHAPES

        public static final int SHAPES
        Constant for the type of rendering (shapes only).
        See Also:
        Constant Field Values
      • LINES

        public static final int LINES
        Constant for the type of rendering (lines only).
        See Also:
        Constant Field Values
      • SHAPES_AND_LINES

        public static final int SHAPES_AND_LINES
        Constant for the type of rendering (shapes and lines).
        See Also:
        Constant Field Values
      • IMAGES

        public static final int IMAGES
        Constant for the type of rendering (images only).
        See Also:
        Constant Field Values
      • DISCONTINUOUS

        public static final int DISCONTINUOUS
        Constant for the type of rendering (discontinuous lines).
        See Also:
        Constant Field Values
      • DISCONTINUOUS_LINES

        public static final int DISCONTINUOUS_LINES
        Constant for the type of rendering (discontinuous lines).
        See Also:
        Constant Field Values
      • baseShapesVisible

        private boolean baseShapesVisible
        A flag indicating whether or not shapes are drawn at each XY point.
      • plotLines

        private boolean plotLines
        A flag indicating whether or not lines are drawn between XY points.
      • plotImages

        private boolean plotImages
        A flag indicating whether or not images are drawn between XY points.
      • plotDiscontinuous

        private boolean plotDiscontinuous
        A flag controlling whether or not discontinuous lines are used.
      • gapThresholdType

        private UnitType gapThresholdType
        Specifies how the gap threshold value is interpreted.
      • gapThreshold

        private double gapThreshold
        Threshold for deciding when to discontinue a line.
      • seriesShapesFilled

        private 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.
      • drawSeriesLineAsPath

        private boolean drawSeriesLineAsPath
        A flag that controls whether or not each series is drawn as a single path.
      • legendLine

        private transient java.awt.Shape legendLine
        The shape that is used to represent a line in the legend. This should never be set to null.
    • Constructor Detail

      • StandardXYItemRenderer

        public StandardXYItemRenderer()
        Constructs a new renderer.
      • StandardXYItemRenderer

        public StandardXYItemRenderer​(int type)
        Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
        Parameters:
        type - the type.
      • StandardXYItemRenderer

        public StandardXYItemRenderer​(int type,
                                      XYToolTipGenerator toolTipGenerator)
        Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
        Parameters:
        type - the type of renderer.
        toolTipGenerator - the item label generator (null permitted).
      • StandardXYItemRenderer

        public StandardXYItemRenderer​(int type,
                                      XYToolTipGenerator toolTipGenerator,
                                      XYURLGenerator urlGenerator)
        Constructs a new renderer. To specify the type of renderer, use one of the constants: SHAPES, LINES or SHAPES_AND_LINES.
        Parameters:
        type - the type of renderer.
        toolTipGenerator - the item label generator (null permitted).
        urlGenerator - the URL generator.
    • Method Detail

      • getBaseShapesVisible

        public boolean getBaseShapesVisible()
        Returns true if shapes are being plotted by the renderer.
        Returns:
        true if shapes are being plotted by the renderer.
        See Also:
        setBaseShapesVisible(boolean)
      • setBaseShapesVisible

        public void setBaseShapesVisible​(boolean flag)
        Sets the flag that controls whether or not a shape is plotted at each data point.
        Parameters:
        flag - the flag.
        See Also:
        getBaseShapesVisible()
      • 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.
        See Also:
        getSeriesShapesFilled(int)
      • 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,
                                          java.lang.Boolean flag)
        Sets the 'shapes filled' flag for a series and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        series - the series index (zero-based).
        flag - the flag.
        See Also:
        getSeriesShapesFilled(int)
      • getBaseShapesFilled

        public boolean getBaseShapesFilled()
        Returns the base 'shape filled' attribute.
        Returns:
        The base flag.
        See Also:
        setBaseShapesFilled(boolean)
      • 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:
        getBaseShapesFilled()
      • getPlotLines

        public boolean getPlotLines()
        Returns true if lines are being plotted by the renderer.
        Returns:
        true if lines are being plotted by the renderer.
        See Also:
        setPlotLines(boolean)
      • setPlotLines

        public void setPlotLines​(boolean flag)
        Sets the flag that controls whether or not a line is plotted between each data point and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        flag - the flag.
        See Also:
        getPlotLines()
      • setGapThresholdType

        public void setGapThresholdType​(UnitType thresholdType)
        Sets the gap threshold type and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        thresholdType - the type (null not permitted).
        See Also:
        getGapThresholdType()
      • getGapThreshold

        public double getGapThreshold()
        Returns the gap threshold for discontinuous lines.
        Returns:
        The gap threshold.
        See Also:
        setGapThreshold(double)
      • setGapThreshold

        public void setGapThreshold​(double t)
        Sets the gap threshold for discontinuous lines and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        t - the threshold.
        See Also:
        getGapThreshold()
      • getPlotImages

        public boolean getPlotImages()
        Returns true if images are being plotted by the renderer.
        Returns:
        true if images are being plotted by the renderer.
        See Also:
        setPlotImages(boolean)
      • setPlotImages

        public void setPlotImages​(boolean flag)
        Sets the flag that controls whether or not an image is drawn at each data point and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        flag - the flag.
        See Also:
        getPlotImages()
      • getPlotDiscontinuous

        public boolean getPlotDiscontinuous()
        Returns a flag that controls whether or not the renderer shows discontinuous lines.
        Returns:
        true if lines should be discontinuous.
      • setPlotDiscontinuous

        public void setPlotDiscontinuous​(boolean flag)
        Sets the flag that controls whether or not the renderer shows discontinuous lines, and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        flag - the new flag value.
      • getDrawSeriesLineAsPath

        public boolean getDrawSeriesLineAsPath()
        Returns a flag that controls whether or not each series is drawn as a single path.
        Returns:
        A boolean.
        See Also:
        setDrawSeriesLineAsPath(boolean)
      • setDrawSeriesLineAsPath

        public void setDrawSeriesLineAsPath​(boolean flag)
        Sets the flag that controls whether or not each series is drawn as a single path.
        Parameters:
        flag - the flag.
        See Also:
        getDrawSeriesLineAsPath()
      • getLegendLine

        public java.awt.Shape getLegendLine()
        Returns the shape used to represent a line in the legend.
        Returns:
        The legend line (never null).
        See Also:
        setLegendLine(Shape)
      • setLegendLine

        public void setLegendLine​(java.awt.Shape line)
        Sets the shape used as a line in each legend item and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        line - the line (null not permitted).
        See Also:
        getLegendLine()
      • getLegendItem

        public LegendItem getLegendItem​(int datasetIndex,
                                        int series)
        Returns a legend item for a series.
        Specified by:
        getLegendItem in interface XYItemRenderer
        Overrides:
        getLegendItem in class AbstractXYItemRenderer
        Parameters:
        datasetIndex - the dataset index (zero-based).
        series - the series index (zero-based).
        Returns:
        A legend item for the series.
      • 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.
      • 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 (null permitted).
        Returns:
        A boolean.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of the renderer.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class AbstractXYItemRenderer
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if the renderer cannot be cloned.
      • getImage

        protected java.awt.Image getImage​(Plot plot,
                                          int series,
                                          int item,
                                          double x,
                                          double y)
        Returns the image used to draw a single data item.
        Parameters:
        plot - the plot (can be used to obtain standard color information etc).
        series - the series index.
        item - the item index.
        x - the x value of the item.
        y - the y value of the item.
        Returns:
        The image.
        See Also:
        getPlotImages()
      • getImageHotspot

        protected java.awt.Point getImageHotspot​(Plot plot,
                                                 int series,
                                                 int item,
                                                 double x,
                                                 double y,
                                                 java.awt.Image image)
        Returns the hotspot of the image used to draw a single data item. The hotspot is the point relative to the top left of the image that should indicate the data item. The default is the center of the image.
        Parameters:
        plot - the plot (can be used to obtain standard color information etc).
        image - the image (can be used to get size information about the image)
        series - the series index
        item - the item index
        x - the x value of the item
        y - the y value of the item
        Returns:
        The hotspot used to draw the data item.
      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Provides serialization support.
        Parameters:
        stream - the input stream.
        Throws:
        java.io.IOException - if there is an I/O error.
        java.lang.ClassNotFoundException - if there is a classpath problem.
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream stream)
                          throws java.io.IOException
        Provides serialization support.
        Parameters:
        stream - the output stream.
        Throws:
        java.io.IOException - if there is an I/O error.