Class StandardChartTheme

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, ChartTheme, PublicCloneable

    public class StandardChartTheme
    extends java.lang.Object
    implements ChartTheme, java.lang.Cloneable, PublicCloneable, java.io.Serializable
    A default implementation of the ChartTheme interface. This implementation just collects a whole bunch of chart attributes and mimics the manual process of applying each attribute to the right sub-object within the JFreeChart instance. It's not elegant code, but it works.
    See Also:
    Serialized Form
    • Field Detail

      • name

        private java.lang.String name
        The name of this theme.
      • extraLargeFont

        private java.awt.Font extraLargeFont
        The largest font size. Use for the main chart title.
      • largeFont

        private java.awt.Font largeFont
        A large font. Used for subtitles.
      • regularFont

        private java.awt.Font regularFont
        The regular font size. Used for axis tick labels, legend items etc.
      • smallFont

        private java.awt.Font smallFont
        The small font size.
      • titlePaint

        private transient java.awt.Paint titlePaint
        The paint used to display the main chart title.
      • subtitlePaint

        private transient java.awt.Paint subtitlePaint
        The paint used to display subtitles.
      • chartBackgroundPaint

        private transient java.awt.Paint chartBackgroundPaint
        The background paint for the chart.
      • legendBackgroundPaint

        private transient java.awt.Paint legendBackgroundPaint
        The legend background paint.
      • legendItemPaint

        private transient java.awt.Paint legendItemPaint
        The legend item paint.
      • drawingSupplier

        private DrawingSupplier drawingSupplier
        The drawing supplier.
      • plotBackgroundPaint

        private transient java.awt.Paint plotBackgroundPaint
        The background paint for the plot.
      • plotOutlinePaint

        private transient java.awt.Paint plotOutlinePaint
        The plot outline paint.
      • labelLinkStyle

        private PieLabelLinkStyle labelLinkStyle
        The label link style for pie charts.
      • labelLinkPaint

        private transient java.awt.Paint labelLinkPaint
        The label link paint for pie charts.
      • domainGridlinePaint

        private transient java.awt.Paint domainGridlinePaint
        The domain grid line paint.
      • rangeGridlinePaint

        private transient java.awt.Paint rangeGridlinePaint
        The range grid line paint.
      • baselinePaint

        private transient java.awt.Paint baselinePaint
      • crosshairPaint

        private transient java.awt.Paint crosshairPaint
        The crosshair paint.
      • axisLabelPaint

        private transient java.awt.Paint axisLabelPaint
        The axis label paint.
      • tickLabelPaint

        private transient java.awt.Paint tickLabelPaint
        The tick label paint.
      • itemLabelPaint

        private transient java.awt.Paint itemLabelPaint
        The item label paint.
      • shadowVisible

        private boolean shadowVisible
        A flag that controls whether or not shadows are visible (for example, in a bar renderer).
      • shadowPaint

        private transient java.awt.Paint shadowPaint
        The shadow paint.
      • barPainter

        private BarPainter barPainter
        The bar painter.
      • xyBarPainter

        private XYBarPainter xyBarPainter
        The XY bar painter.
      • thermometerPaint

        private transient java.awt.Paint thermometerPaint
        The thermometer paint.
      • errorIndicatorPaint

        private transient java.awt.Paint errorIndicatorPaint
        The error indicator paint for the StatisticalBarRenderer.
      • gridBandPaint

        private transient java.awt.Paint gridBandPaint
        The grid band paint for a SymbolAxis.
      • gridBandAlternatePaint

        private transient java.awt.Paint gridBandAlternatePaint
        The grid band alternate paint for a SymbolAxis.
    • Constructor Detail

      • StandardChartTheme

        public StandardChartTheme​(java.lang.String name)
        Creates a new default instance.
        Parameters:
        name - the name of the theme (null not permitted).
      • StandardChartTheme

        public StandardChartTheme​(java.lang.String name,
                                  boolean shadow)
        Creates a new default instance.
        Parameters:
        name - the name of the theme (null not permitted).
        shadow - a flag that controls whether a shadow generator is included.
    • Method Detail

      • createJFreeTheme

        public static ChartTheme createJFreeTheme()
        Creates and returns the default 'JFree' chart theme.
        Returns:
        A chart theme.
      • createDarknessTheme

        public static ChartTheme createDarknessTheme()
        Creates and returns a theme called "Darkness". In this theme, the charts have a black background.
        Returns:
        The "Darkness" theme.
      • createLegacyTheme

        public static ChartTheme createLegacyTheme()
        Creates and returns a ChartTheme that doesn't apply any changes to the JFreeChart defaults. This produces the "legacy" look for JFreeChart.
        Returns:
        A legacy theme.
      • getExtraLargeFont

        public java.awt.Font getExtraLargeFont()
        Returns the largest font for this theme.
        Returns:
        The largest font for this theme.
        See Also:
        setExtraLargeFont(Font)
      • setExtraLargeFont

        public void setExtraLargeFont​(java.awt.Font font)
        Sets the largest font for this theme.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getExtraLargeFont()
      • getLargeFont

        public java.awt.Font getLargeFont()
        Returns the large font for this theme.
        Returns:
        The large font (never null).
        See Also:
        setLargeFont(Font)
      • setLargeFont

        public void setLargeFont​(java.awt.Font font)
        Sets the large font for this theme.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getLargeFont()
      • getRegularFont

        public java.awt.Font getRegularFont()
        Returns the regular font.
        Returns:
        The regular font (never null).
        See Also:
        setRegularFont(Font)
      • setRegularFont

        public void setRegularFont​(java.awt.Font font)
        Sets the regular font for this theme.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getRegularFont()
      • getSmallFont

        public java.awt.Font getSmallFont()
        Returns the small font.
        Returns:
        The small font (never null).
        See Also:
        setSmallFont(Font)
      • setSmallFont

        public void setSmallFont​(java.awt.Font font)
        Sets the small font for this theme.
        Parameters:
        font - the font (null not permitted).
        See Also:
        getSmallFont()
      • getTitlePaint

        public java.awt.Paint getTitlePaint()
        Returns the title paint.
        Returns:
        The title paint (never null).
        See Also:
        setTitlePaint(Paint)
      • setTitlePaint

        public void setTitlePaint​(java.awt.Paint paint)
        Sets the title paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getTitlePaint()
      • getSubtitlePaint

        public java.awt.Paint getSubtitlePaint()
        Returns the subtitle paint.
        Returns:
        The subtitle paint (never null).
        See Also:
        setSubtitlePaint(Paint)
      • setSubtitlePaint

        public void setSubtitlePaint​(java.awt.Paint paint)
        Sets the subtitle paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getSubtitlePaint()
      • getChartBackgroundPaint

        public java.awt.Paint getChartBackgroundPaint()
        Returns the chart background paint.
        Returns:
        The chart background paint (never null).
        See Also:
        setChartBackgroundPaint(Paint)
      • setChartBackgroundPaint

        public void setChartBackgroundPaint​(java.awt.Paint paint)
        Sets the chart background paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getChartBackgroundPaint()
      • getLegendBackgroundPaint

        public java.awt.Paint getLegendBackgroundPaint()
        Returns the legend background paint.
        Returns:
        The legend background paint (never null).
        See Also:
        setLegendBackgroundPaint(Paint)
      • setLegendBackgroundPaint

        public void setLegendBackgroundPaint​(java.awt.Paint paint)
        Sets the legend background paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getLegendBackgroundPaint()
      • getLegendItemPaint

        public java.awt.Paint getLegendItemPaint()
        Returns the legend item paint.
        Returns:
        The legend item paint (never null).
        See Also:
        setLegendItemPaint(Paint)
      • setLegendItemPaint

        public void setLegendItemPaint​(java.awt.Paint paint)
        Sets the legend item paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getLegendItemPaint()
      • getPlotBackgroundPaint

        public java.awt.Paint getPlotBackgroundPaint()
        Returns the plot background paint.
        Returns:
        The plot background paint (never null).
        See Also:
        setPlotBackgroundPaint(Paint)
      • setPlotBackgroundPaint

        public void setPlotBackgroundPaint​(java.awt.Paint paint)
        Sets the plot background paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getPlotBackgroundPaint()
      • getPlotOutlinePaint

        public java.awt.Paint getPlotOutlinePaint()
        Returns the plot outline paint.
        Returns:
        The plot outline paint (never null).
        See Also:
        setPlotOutlinePaint(Paint)
      • setPlotOutlinePaint

        public void setPlotOutlinePaint​(java.awt.Paint paint)
        Sets the plot outline paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getPlotOutlinePaint()
      • setLabelLinkStyle

        public void setLabelLinkStyle​(PieLabelLinkStyle style)
        Sets the label link style for pie charts.
        Parameters:
        style - the style (null not permitted).
        See Also:
        getLabelLinkStyle()
      • getLabelLinkPaint

        public java.awt.Paint getLabelLinkPaint()
        Returns the label link paint for pie charts.
        Returns:
        The label link paint (never null).
        See Also:
        setLabelLinkPaint(Paint)
      • setLabelLinkPaint

        public void setLabelLinkPaint​(java.awt.Paint paint)
        Sets the label link paint for pie charts.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getLabelLinkPaint()
      • getDomainGridlinePaint

        public java.awt.Paint getDomainGridlinePaint()
        Returns the domain grid line paint.
        Returns:
        The domain grid line paint (never null).
        See Also:
        setDomainGridlinePaint(Paint)
      • setDomainGridlinePaint

        public void setDomainGridlinePaint​(java.awt.Paint paint)
        Sets the domain grid line paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getDomainGridlinePaint()
      • getRangeGridlinePaint

        public java.awt.Paint getRangeGridlinePaint()
        Returns the range grid line paint.
        Returns:
        The range grid line paint (never null).
        See Also:
        setRangeGridlinePaint(Paint)
      • setRangeGridlinePaint

        public void setRangeGridlinePaint​(java.awt.Paint paint)
        Sets the range grid line paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getRangeGridlinePaint()
      • getBaselinePaint

        public java.awt.Paint getBaselinePaint()
        Returns the baseline paint.
        Returns:
        The baseline paint.
      • setBaselinePaint

        public void setBaselinePaint​(java.awt.Paint paint)
        Sets the baseline paint.
        Parameters:
        paint - the paint (null not permitted).
      • getCrosshairPaint

        public java.awt.Paint getCrosshairPaint()
        Returns the crosshair paint.
        Returns:
        The crosshair paint.
      • setCrosshairPaint

        public void setCrosshairPaint​(java.awt.Paint paint)
        Sets the crosshair paint.
        Parameters:
        paint - the paint (null not permitted).
      • setAxisOffset

        public void setAxisOffset​(RectangleInsets offset)
        Sets the axis offset.
        Parameters:
        offset - the offset (null not permitted).
        See Also:
        getAxisOffset()
      • getAxisLabelPaint

        public java.awt.Paint getAxisLabelPaint()
        Returns the axis label paint.
        Returns:
        The axis label paint (never null).
        See Also:
        setAxisLabelPaint(Paint)
      • setAxisLabelPaint

        public void setAxisLabelPaint​(java.awt.Paint paint)
        Sets the axis label paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getAxisLabelPaint()
      • getTickLabelPaint

        public java.awt.Paint getTickLabelPaint()
        Returns the tick label paint.
        Returns:
        The tick label paint (never null).
        See Also:
        setTickLabelPaint(Paint)
      • setTickLabelPaint

        public void setTickLabelPaint​(java.awt.Paint paint)
        Sets the tick label paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getTickLabelPaint()
      • getItemLabelPaint

        public java.awt.Paint getItemLabelPaint()
        Returns the item label paint.
        Returns:
        The item label paint (never null).
        See Also:
        setItemLabelPaint(Paint)
      • setItemLabelPaint

        public void setItemLabelPaint​(java.awt.Paint paint)
        Sets the item label paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getItemLabelPaint()
      • isShadowVisible

        public boolean isShadowVisible()
        Returns the shadow visibility flag.
        Returns:
        The shadow visibility flag.
        See Also:
        setShadowVisible(boolean)
      • setShadowVisible

        public void setShadowVisible​(boolean visible)
        Sets the shadow visibility flag.
        Parameters:
        visible - the flag.
        See Also:
        isShadowVisible()
      • getShadowPaint

        public java.awt.Paint getShadowPaint()
        Returns the shadow paint.
        Returns:
        The shadow paint (never null).
        See Also:
        setShadowPaint(Paint)
      • setShadowPaint

        public void setShadowPaint​(java.awt.Paint paint)
        Sets the shadow paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getShadowPaint()
      • setBarPainter

        public void setBarPainter​(BarPainter painter)
        Sets the bar painter.
        Parameters:
        painter - the painter (null not permitted).
        See Also:
        getBarPainter()
      • setXYBarPainter

        public void setXYBarPainter​(XYBarPainter painter)
        Sets the XY bar painter.
        Parameters:
        painter - the painter (null not permitted).
        See Also:
        getXYBarPainter()
      • getThermometerPaint

        public java.awt.Paint getThermometerPaint()
        Returns the thermometer paint.
        Returns:
        The thermometer paint (never null).
        See Also:
        setThermometerPaint(Paint)
      • setThermometerPaint

        public void setThermometerPaint​(java.awt.Paint paint)
        Sets the thermometer paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getThermometerPaint()
      • getErrorIndicatorPaint

        public java.awt.Paint getErrorIndicatorPaint()
        Returns the error indicator paint.
        Returns:
        The error indicator paint (never null).
        See Also:
        setErrorIndicatorPaint(Paint)
      • setErrorIndicatorPaint

        public void setErrorIndicatorPaint​(java.awt.Paint paint)
        Sets the error indicator paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getErrorIndicatorPaint()
      • getGridBandPaint

        public java.awt.Paint getGridBandPaint()
        Returns the grid band paint.
        Returns:
        The grid band paint (never null).
        See Also:
        setGridBandPaint(Paint)
      • setGridBandPaint

        public void setGridBandPaint​(java.awt.Paint paint)
        Sets the grid band paint.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getGridBandPaint()
      • getGridBandAlternatePaint

        public java.awt.Paint getGridBandAlternatePaint()
        Returns the grid band alternate paint (used for a SymbolAxis).
        Returns:
        The paint (never null).
        See Also:
        setGridBandAlternatePaint(Paint)
      • setGridBandAlternatePaint

        public void setGridBandAlternatePaint​(java.awt.Paint paint)
        Sets the grid band alternate paint (used for a SymbolAxis).
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getGridBandAlternatePaint()
      • getName

        public java.lang.String getName()
        Returns the name of this theme.
        Returns:
        The name of this theme.
      • getDrawingSupplier

        public DrawingSupplier getDrawingSupplier()
        Returns a clone of the drawing supplier for this theme.
        Returns:
        A clone of the drawing supplier.
      • setDrawingSupplier

        public void setDrawingSupplier​(DrawingSupplier supplier)
        Sets the drawing supplier for this theme.
        Parameters:
        supplier - the supplier (null not permitted).
        See Also:
        getDrawingSupplier()
      • apply

        public void apply​(JFreeChart chart)
        Applies this theme to the supplied chart.
        Specified by:
        apply in interface ChartTheme
        Parameters:
        chart - the chart (null not permitted).
      • applyToTitle

        protected void applyToTitle​(Title title)
        Applies the attributes of this theme to the specified title.
        Parameters:
        title - the title.
      • applyToBlockContainer

        protected void applyToBlockContainer​(BlockContainer bc)
        Applies the attributes of this theme to the specified container.
        Parameters:
        bc - a block container (null not permitted).
      • applyToBlock

        protected void applyToBlock​(Block b)
        Applies the attributes of this theme to the specified block.
        Parameters:
        b - the block.
      • applyToPlot

        protected void applyToPlot​(Plot plot)
        Applies the attributes of this theme to a plot.
        Parameters:
        plot - the plot (null).
      • applyToPiePlot

        protected void applyToPiePlot​(PiePlot plot)
        Applies the attributes of this theme to a PiePlot instance. This method also clears any set values for the section paint, outline etc, so that the theme's DrawingSupplier will be used.
        Parameters:
        plot - the plot (null not permitted).
      • applyToMultiplePiePlot

        protected void applyToMultiplePiePlot​(MultiplePiePlot plot)
        Applies the attributes of this theme to a MultiplePiePlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToCategoryPlot

        protected void applyToCategoryPlot​(CategoryPlot plot)
        Applies the attributes of this theme to a CategoryPlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToXYPlot

        protected void applyToXYPlot​(XYPlot plot)
        Applies the attributes of this theme to a XYPlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToFastScatterPlot

        protected void applyToFastScatterPlot​(FastScatterPlot plot)
        Applies the attributes of this theme to a FastScatterPlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToPolarPlot

        protected void applyToPolarPlot​(PolarPlot plot)
        Applies the attributes of this theme to a PolarPlot. This method is called from the applyToPlot(Plot) method.
        Parameters:
        plot - the plot (null not permitted).
      • applyToSpiderWebPlot

        protected void applyToSpiderWebPlot​(SpiderWebPlot plot)
        Applies the attributes of this theme to a SpiderWebPlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToMeterPlot

        protected void applyToMeterPlot​(MeterPlot plot)
        Applies the attributes of this theme to a MeterPlot.
        Parameters:
        plot - the plot (null not permitted).
      • applyToThermometerPlot

        protected void applyToThermometerPlot​(ThermometerPlot plot)
        Applies the attributes for this theme to a ThermometerPlot. This method is called from the applyToPlot(Plot) method.
        Parameters:
        plot - the plot.
      • applyToCategoryAxis

        protected void applyToCategoryAxis​(CategoryAxis axis)
        Applies the attributes for this theme to a CategoryAxis.
        Parameters:
        axis - the axis (null not permitted).
      • applyToValueAxis

        protected void applyToValueAxis​(ValueAxis axis)
        Applies the attributes for this theme to a ValueAxis.
        Parameters:
        axis - the axis (null not permitted).
      • applyToSymbolAxis

        protected void applyToSymbolAxis​(SymbolAxis axis)
        Applies the attributes for this theme to a SymbolAxis.
        Parameters:
        axis - the axis (null not permitted).
      • applyToPeriodAxis

        protected void applyToPeriodAxis​(PeriodAxis axis)
        Applies the attributes for this theme to a PeriodAxis.
        Parameters:
        axis - the axis (null not permitted).
      • applyToAbstractRenderer

        protected void applyToAbstractRenderer​(AbstractRenderer renderer)
        Applies the attributes for this theme to an AbstractRenderer.
        Parameters:
        renderer - the renderer (null not permitted).
      • applyToCategoryItemRenderer

        protected void applyToCategoryItemRenderer​(CategoryItemRenderer renderer)
        Applies the settings of this theme to the specified renderer.
        Parameters:
        renderer - the renderer (null not permitted).
      • applyToXYItemRenderer

        protected void applyToXYItemRenderer​(XYItemRenderer renderer)
        Applies the settings of this theme to the specified renderer.
        Parameters:
        renderer - the renderer (null not permitted).
      • applyToXYAnnotation

        protected void applyToXYAnnotation​(XYAnnotation annotation)
        Applies the settings of this theme to the specified annotation.
        Parameters:
        annotation - the annotation.
      • equals

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

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • clone

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

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

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