abstractrenderer.java

来自「JfreeChart 常用图表例子」· Java 代码 · 共 1,979 行 · 第 1/5 页

JAVA
1,979
字号
     *     * @param row  the row (or series) index (zero-based).     * @param column  the column (or category) index (zero-based).     *     * @return The paint (never <code>null</code>).     */    public Paint getItemFillPaint(int row, int column) {        return getSeriesFillPaint(row);    }    /**     * Returns the paint used to fill an item drawn by the renderer.     *     * @param series  the series (zero-based index).     *     * @return The paint (never <code>null</code>).     */    public Paint getSeriesFillPaint(int series) {        // return the override, if there is one...        if (this.fillPaint != null) {            return this.fillPaint;        }        // otherwise look up the paint table        Paint seriesFillPaint = this.fillPaintList.getPaint(series);        if (seriesFillPaint == null) {            seriesFillPaint = this.baseFillPaint;        }        return seriesFillPaint;    }    /**     * Sets the paint used for a series fill and sends a      * {@link RendererChangeEvent} to all registered listeners.     *     * @param series  the series index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     */    public void setSeriesFillPaint(int series, Paint paint) {        setSeriesFillPaint(series, paint, true);    }    /**     * Sets the paint used to fill a series and, if requested,      * sends a {@link RendererChangeEvent} to all registered listeners.     *      * @param series  the series index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     * @param notify  notify listeners?     */        public void setSeriesFillPaint(int series, Paint paint, boolean notify) {        this.fillPaintList.setPaint(series, paint);        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }    /**     * Sets the fill paint for ALL series (optional).     *      * @param paint  the paint (<code>null</code> permitted).     */    public void setFillPaint(Paint paint) {        setFillPaint(paint, true);    }    /**     * Sets the fill paint for ALL series and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param paint  the paint (<code>null</code> permitted).     * @param notify  notify listeners?     */    public void setFillPaint(Paint paint, boolean notify) {        this.fillPaint = paint;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }        /**     * Returns the base fill paint.     *     * @return The paint (never <code>null</code>).     */    public Paint getBaseFillPaint() {        return this.baseFillPaint;    }    /**     * Sets the base fill paint and sends a {@link RendererChangeEvent} to      * all registered listeners.     *     * @param paint  the paint (<code>null</code> not permitted).     */    public void setBaseFillPaint(Paint paint) {        // defer argument checking...        setBaseFillPaint(paint, true);    }        /**     * Sets the base fill paint and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param paint  the paint (<code>null</code> not permitted).     * @param notify  notify listeners?     */    public void setBaseFillPaint(Paint paint, boolean notify) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");           }        this.baseFillPaint = paint;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }    // OUTLINE PAINT //////////////////////////////////////////////////////////        /**     * Returns the paint used to outline data items as they are drawn.     * <p>     * The default implementation passes control to the getSeriesOutlinePaint      * method.  You can override this method if you require different behaviour.     *     * @param row  the row (or series) index (zero-based).     * @param column  the column (or category) index (zero-based).     *     * @return The paint (never <code>null</code>).     */    public Paint getItemOutlinePaint(int row, int column) {        return getSeriesOutlinePaint(row);    }    /**     * Returns the paint used to outline an item drawn by the renderer.     *     * @param series  the series (zero-based index).     *     * @return The paint (never <code>null</code>).     */    public Paint getSeriesOutlinePaint(int series) {        // return the override, if there is one...        if (this.outlinePaint != null) {            return this.outlinePaint;        }        // otherwise look up the paint table        Paint seriesOutlinePaint = this.outlinePaintList.getPaint(series);        if (seriesOutlinePaint == null) {            DrawingSupplier supplier = getDrawingSupplier();            if (supplier != null) {                seriesOutlinePaint = supplier.getNextOutlinePaint();                this.outlinePaintList.setPaint(series, seriesOutlinePaint);            }            else {                seriesOutlinePaint = this.baseOutlinePaint;            }        }        return seriesOutlinePaint;    }    /**     * Sets the paint used for a series outline and sends a      * {@link RendererChangeEvent} to all registered listeners.     *     * @param series  the series index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     */    public void setSeriesOutlinePaint(int series, Paint paint) {        setSeriesOutlinePaint(series, paint, true);    }    /**     * Sets the paint used to draw the outline for a series and, if requested,      * sends a {@link RendererChangeEvent} to all registered listeners.     *      * @param series  the series index (zero-based).     * @param paint  the paint (<code>null</code> permitted).     * @param notify  notify listeners?     */        public void setSeriesOutlinePaint(int series, Paint paint, boolean notify) {        this.outlinePaintList.setPaint(series, paint);        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }    /**     * Sets the outline paint for ALL series (optional).     *      * @param paint  the paint (<code>null</code> permitted).     */    public void setOutlinePaint(Paint paint) {        setOutlinePaint(paint, true);    }    /**     * Sets the outline paint for ALL series and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param paint  the paint (<code>null</code> permitted).     * @param notify  notify listeners?     */    public void setOutlinePaint(Paint paint, boolean notify) {        this.outlinePaint = paint;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }        /**     * Returns the base outline paint.     *     * @return The paint (never <code>null</code>).     */    public Paint getBaseOutlinePaint() {        return this.baseOutlinePaint;    }    /**     * Sets the base outline paint and sends a {@link RendererChangeEvent} to      * all registered listeners.     *     * @param paint  the paint (<code>null</code> not permitted).     */    public void setBaseOutlinePaint(Paint paint) {        // defer argument checking...        setBaseOutlinePaint(paint, true);    }        /**     * Sets the base outline paint and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param paint  the paint (<code>null</code> not permitted).     * @param notify  notify listeners?     */    public void setBaseOutlinePaint(Paint paint, boolean notify) {        if (paint == null) {            throw new IllegalArgumentException("Null 'paint' argument.");           }        this.baseOutlinePaint = paint;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }    // STROKE        /**     * Returns the stroke used to draw data items.     * <p>     * The default implementation passes control to the getSeriesStroke method.     * You can override this method if you require different behaviour.     *     * @param row  the row (or series) index (zero-based).     * @param column  the column (or category) index (zero-based).     *     * @return The stroke (never <code>null</code>).     */    public Stroke getItemStroke(int row, int column) {        return getSeriesStroke(row);    }    /**     * Returns the stroke used to draw the items in a series.     *     * @param series  the series (zero-based index).     *     * @return The stroke (never <code>null</code>).     */    public Stroke getSeriesStroke(int series) {        // return the override, if there is one...        if (this.stroke != null) {            return this.stroke;        }        // otherwise look up the paint table        Stroke result = this.strokeList.getStroke(series);        if (result == null) {            DrawingSupplier supplier = getDrawingSupplier();            if (supplier != null) {                result = supplier.getNextStroke();                this.strokeList.setStroke(series, result);            }            else {                result = this.baseStroke;            }        }        return result;    }        /**     * Sets the stroke for ALL series and sends a {@link RendererChangeEvent}      * to all registered listeners.     *      * @param stroke  the stroke (<code>null</code> permitted).     */    public void setStroke(Stroke stroke) {        setStroke(stroke, true);    }        /**     * Sets the stroke for ALL series and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param stroke  the stroke (<code>null</code> permitted).     * @param notify  notify listeners?     */    public void setStroke(Stroke stroke, boolean notify) {        this.stroke = stroke;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }        /**     * Sets the stroke used for a series and sends a {@link RendererChangeEvent}     * to all registered listeners.     *     * @param series  the series index (zero-based).     * @param stroke  the stroke (<code>null</code> permitted).     */    public void setSeriesStroke(int series, Stroke stroke) {        setSeriesStroke(series, stroke, true);    }        /**     * Sets the stroke for a series and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param series  the series index (zero-based).     * @param stroke  the stroke (<code>null</code> permitted).     * @param notify  notify listeners?     */    public void setSeriesStroke(int series, Stroke stroke, boolean notify) {        this.strokeList.setStroke(series, stroke);        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }        /**     * Returns the base stroke.     *     * @return The base stroke (never <code>null</code>).     */    public Stroke getBaseStroke() {        return this.baseStroke;    }    /**     * Sets the base stroke.     *     * @param stroke  the stroke (<code>null</code> not permitted).     */    public void setBaseStroke(Stroke stroke) {        // defer argument checking...        setBaseStroke(stroke, true);    }    /**     * Sets the base stroke and, if requested, sends a      * {@link RendererChangeEvent} to all registered listeners.     *      * @param stroke  the stroke (<code>null</code> not permitted).     * @param notify  notify listeners?     */    public void setBaseStroke(Stroke stroke, boolean notify) {        if (stroke == null) {            throw new IllegalArgumentException("Null 'stroke' argument.");           }        this.baseStroke = stroke;        if (notify) {            notifyListeners(new RendererChangeEvent(this));        }    }        // OUTLINE STROKE         /**     * Returns the stroke used to outline data items.  The default      * implementation passes control to the {@link #getSeriesOutlineStroke(int)}     * method. You can override this method if you require different behaviour.     *     * @param row  the row (or series) index (zero-based).     * @param column  the column (or category) index (zero-based).     *     * @return The stroke (never <code>null</code>).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?