Class LineAndShapeRenderer

    • Field Detail

      • serialVersionUID

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

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

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

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

        private boolean defaultShapesVisible
        The default value returned by the getShapeVisible() method.
      • seriesShapesFilled

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

        private boolean defaultShapesFilled
        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.
      • itemMargin

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

      • 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 Detail

      • 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.
      • 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).
        See Also:
        setSeriesLinesVisible(int, Boolean)
      • setSeriesLinesVisible

        public void setSeriesLinesVisible​(int series,
                                          java.lang.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:
        getSeriesLinesVisible(int)
      • 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:
        getSeriesLinesVisible(int)
      • getDefaultLinesVisible

        public boolean getDefaultLinesVisible()
        Returns the default 'lines visible' attribute.
        Returns:
        The default flag.
        See Also:
        getDefaultLinesVisible()
      • setDefaultLinesVisible

        public void setDefaultLinesVisible​(boolean flag)
        Sets the default 'lines visible' flag and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        flag - the flag.
        See Also:
        getDefaultLinesVisible()
      • 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.
      • 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.
        See Also:
        setSeriesShapesVisible(int, 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.
        See Also:
        getSeriesShapesVisible(int)
      • 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.
        See Also:
        getSeriesShapesVisible(int)
      • getDefaultShapesVisible

        public boolean getDefaultShapesVisible()
        Returns the default 'shape visible' attribute.
        Returns:
        The base flag.
        See Also:
        setDefaultShapesVisible(boolean)
      • setDefaultShapesVisible

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

        public boolean getDrawOutlines()
        Returns true if outlines should be drawn for shapes, and false otherwise.
        Returns:
        A boolean.
        See Also:
        setDrawOutlines(boolean)
      • 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:
        getDrawOutlines()
      • 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(boolean)
      • 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:
        getUseOutlinePaint()
      • 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.
      • setSeriesShapesFilled

        public void setSeriesShapesFilled​(int series,
                                          java.lang.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:
        getSeriesShapesFilled(int)
      • 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:
        getSeriesShapesFilled(int)
      • getDefaultShapesFilled

        public boolean getDefaultShapesFilled()
        Returns the default 'shape filled' attribute.
        Returns:
        The base flag.
        See Also:
        setDefaultShapesFilled(boolean)
      • setDefaultShapesFilled

        public void setDefaultShapesFilled​(boolean flag)
        Sets the default 'shapes filled' flag and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        flag - the flag.
        See Also:
        getDefaultShapesFilled()
      • 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(boolean)
      • 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:
        getUseFillPaint()
      • 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.
        See Also:
        setUseSeriesOffset(boolean)
      • 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.
        See Also:
        getUseSeriesOffset()
      • 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.
        See Also:
        setItemMargin(double), getUseSeriesOffset()
      • 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).
        See Also:
        getItemMargin(), getUseSeriesOffset()
      • 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 PublicCloneable
        Overrides:
        clone in class AbstractCategoryItemRenderer
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - should not happen.