Class LevelRenderer

    • Field Detail

      • serialVersionUID

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

        public static final double DEFAULT_ITEM_MARGIN
        The default item margin percentage.
        See Also:
        Constant Field Values
      • itemMargin

        private double itemMargin
        The margin between items within a category.
      • maxItemWidth

        private double maxItemWidth
        The maximum item width as a percentage of the available space.
    • Constructor Detail

      • LevelRenderer

        public LevelRenderer()
        Creates a new renderer with default settings.
    • Method Detail

      • getItemMargin

        public double getItemMargin()
        Returns the item margin.
        Returns:
        The margin.
        See Also:
        setItemMargin(double)
      • setItemMargin

        public void setItemMargin​(double percent)
        Sets the item margin and sends a RendererChangeEvent to all registered listeners. The value is expressed as a percentage of the available width for plotting all the bars, with the resulting amount to be distributed between all the bars evenly.
        Parameters:
        percent - the new margin.
        See Also:
        getItemMargin()
      • getMaximumItemWidth

        public double getMaximumItemWidth()
        Returns the maximum width, as a percentage of the available drawing space.
        Returns:
        The maximum width.
        See Also:
        setMaximumItemWidth(double)
      • setMaximumItemWidth

        public void setMaximumItemWidth​(double percent)
        Sets the maximum item width, which is specified as a percentage of the available space for all items, and sends a RendererChangeEvent to all registered listeners.
        Parameters:
        percent - the percent.
        See Also:
        getMaximumItemWidth()
      • initialise

        public CategoryItemRendererState initialise​(java.awt.Graphics2D g2,
                                                    java.awt.geom.Rectangle2D dataArea,
                                                    CategoryPlot plot,
                                                    int rendererIndex,
                                                    PlotRenderingInfo info)
        Initialises the renderer and returns a state object that will be passed to subsequent calls to the drawItem method.

        This method gets called once at the start of the process of drawing a chart.

        Specified by:
        initialise in interface CategoryItemRenderer
        Overrides:
        initialise in class AbstractCategoryItemRenderer
        Parameters:
        g2 - the graphics device.
        dataArea - the area in which the data is to be plotted.
        plot - the plot.
        rendererIndex - the renderer index.
        info - collects chart rendering information for return to caller.
        Returns:
        The renderer state.
      • calculateItemWidth

        protected void calculateItemWidth​(CategoryPlot plot,
                                          java.awt.geom.Rectangle2D dataArea,
                                          int rendererIndex,
                                          CategoryItemRendererState state)
        Calculates the bar width and stores it in the renderer state.
        Parameters:
        plot - the plot.
        dataArea - the data area.
        rendererIndex - the renderer index.
        state - the renderer state.
      • calculateBarW0

        protected double calculateBarW0​(CategoryPlot plot,
                                        PlotOrientation orientation,
                                        java.awt.geom.Rectangle2D dataArea,
                                        CategoryAxis domainAxis,
                                        CategoryItemRendererState state,
                                        int row,
                                        int column)
        Calculates the coordinate of the first "side" of a bar. This will be the minimum x-coordinate for a vertical bar, and the minimum y-coordinate for a horizontal bar.
        Parameters:
        plot - the plot.
        orientation - the plot orientation.
        dataArea - the data area.
        domainAxis - the domain axis.
        state - the renderer state (has the bar width precalculated).
        row - the row index.
        column - the column index.
        Returns:
        The coordinate.
      • 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)
        Draws the bar for a single (series, category) data item.
        Specified by:
        drawItem in interface CategoryItemRenderer
        Parameters:
        g2 - the graphics device.
        state - the renderer state.
        dataArea - the data area.
        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.
      • calculateSeriesWidth

        protected double calculateSeriesWidth​(double space,
                                              CategoryAxis axis,
                                              int categories,
                                              int series)
        Calculates the available space for each series.
        Parameters:
        space - the space along the entire axis (in Java2D units).
        axis - the category axis.
        categories - the number of categories.
        series - the number of series.
        Returns:
        The width of one series.
      • getItemMiddle

        public double getItemMiddle​(java.lang.Comparable rowKey,
                                    java.lang.Comparable columnKey,
                                    CategoryDataset dataset,
                                    CategoryAxis axis,
                                    java.awt.geom.Rectangle2D area,
                                    RectangleEdge edge)
        Returns the Java2D coordinate for the middle of the specified data item.
        Specified by:
        getItemMiddle in interface CategoryItemRenderer
        Overrides:
        getItemMiddle in class AbstractCategoryItemRenderer
        Parameters:
        rowKey - the row key.
        columnKey - the column key.
        dataset - the dataset.
        axis - the axis.
        area - the drawing area.
        edge - the edge along which the axis lies.
        Returns:
        The Java2D coordinate.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests an object for equality with this instance.
        Overrides:
        equals in class AbstractCategoryItemRenderer
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.