Class JRFillChart
- All Implemented Interfaces:
Cloneable,JRChart,DynamicPropertiesHolder,JRFillCloneable,JRAnchor,JRBoxContainer,JRChild,JRCloneable,JRCommonElement,JRElement,JREvaluation,JRHyperlink,JRIdentifiable,JRPropertiesHolder,JRStyleContainer,JRStyleSetter,JRVisitable
- Direct Known Subclasses:
JRFillChartForAxis
- Author:
- Teodor Danciu (teodord@users.sourceforge.net), Some enhancements by Barry Klawans (bklawans@users.sourceforge.net)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<JRChartCustomizer> protected ChartHyperlinkProviderprotected ChartTypeEnumprotected JRFillChartDatasetstatic final Stringstatic final Stringstatic final Stringprotected final JRLineBoxprotected org.jfree.chart.JFreeChartprotected JRFontprotected JRLineBoxprotected JRChartPlotprotected Renderableprotected Stringprotected JRFontprotected ChartThemeprotected JRFontFields inherited from class net.sf.jasperreports.engine.fill.JRFillElement
band, conditionalStylesContainer, currentEvaluation, currentStyle, defaultPopulateTemplateStyle, defaultStyleProvider, delayedEvaluationsMap, dynamicProperties, dynamicTransferProperties, elementGroup, EXCEPTION_MESSAGE_KEY_INVALID_BOOKMARK_LEVEL, expressionEvaluator, exprStyle, fillContainerContext, filler, hasDynamicPopulateTemplateStyle, initStyle, mergedProperties, originProvider, parent, printElementOriginator, printWhenGroupChanges, propertyExpressions, providerStyle, staticProperties, staticTransferProperties, styleProviders, templatesFields inherited from interface net.sf.jasperreports.engine.JRAnchor
NO_BOOKMARKFields inherited from interface net.sf.jasperreports.charts.JRChart
PROPERTY_CHART_RENDER_TYPE, PROPERTY_CHART_THEME, RENDER_TYPE_DRAW, RENDER_TYPE_IMAGE, RENDER_TYPE_SVGFields inherited from interface net.sf.jasperreports.engine.JRElement
PROPERTY_ELEMENT_TEMPLATE_POPULATE_STYLE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJRFillChart(JRBaseFiller filler, JRChart chart, ChartsFillObjectFactory factory) -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectExpressions(JRExpressionCollector collector) protected org.jfree.chart.plot.MeterIntervalconvertInterval(JRMeterInterval interval, byte evaluation) Converts a JasperReports meter interval to one that JFreeChart understands.protected org.jfree.data.RangeconvertRange(JRDataRange dataRange, byte evaluation) Converts a JasperReport data range into one understood by JFreeChart.protected voidcopy(JRPrintImage printImage) protected JRChartCustomizercreateAndInitCustomizer(String customizerClassName, String customizerName) protected ChartHyperlinkProvidercreateClone(JRFillCloneFactory factory) Creates a working clone of itself.protected JRTemplateElementprotected voidcreateMultiAxisChart(byte evaluation) Build and configure a multiple axis chart.protected voidevaluate(byte evaluation) protected org.jfree.chart.JFreeChartevaluateChart(byte evaluation) protected voidevaluateRenderer(byte evaluation) protected voidevaluateStyle(byte evaluation) protected JRPrintElementfill()protected StringReturns an expression whose value represents the anchor name.intReturns the level of the bookmark corresponding to the anchor.Returns an expression whose value represents the bookmark level (starting from 1) corresponding to this anchor.protected org.jfree.chart.axis.AxisLocationgetChartAxisLocation(JRFillChartAxis chartAxis) Gets the chart type.Gets a user specified chart customizer class name.Gets the chart dataset.Gets the evaluation group for this text field.Gets the evaluation time for this text field.protected StringReturns the expression whose value represents the anchor.protected IntegerReturns an integer representing the page index of the link.Returns the list of hyperlink parameters.protected ChartHyperlinkProviderprotected StringReturns the expression whose value represents the hyperlink reference.Retrieves the hyperlink target for the element.protected StringReturns the expression which will generate the hyperlink tooltip.Retrieves the hyperlink type for the element.Returns the expression that is evaluated in order to decide if the hyperlink should be displayed.protected JRTemplateImageReturns the color to use as the background of the legend.Returns the inherited color to use for text in the legend.Returns the font to use in the legend.Returns the hyperlink target name.Returns the hyperlink type.getMode()Returns the element transparency mode.Returns the color to use as the background of the legend.Returns the color to use for text in the legend.getPlot()Gets the chart plot.protected Renderableprotected StyleResolverGets the expression whose evaluation will form the subtitle.getTheme()Gets the expression whose evaluation will form the title.Gets the title position relative to the chart.protected booleanprepare(int availableHeight, boolean isOverflow, boolean isOverflowAllowed) protected voidresolveElement(JRPrintElement element, byte evaluation) Resolves an element.protected voidrewind()voidsetBand(JRFillBand band) voidsetDataset(JRFillChartDataset dataset) voidsetLegendBackgroundColor(Color legendBackgroundColor) Sets the color to use for the background of the legend.voidsetLegendColor(Color legendColor) Sets the color to use for text in the legend.voidsetLegendPosition(EdgeEnum legendPosition) voidsetRenderType(String renderType) voidsetShowLegend(Boolean isShowLegend) voidsetSubtitleColor(Color subtitleColor) voidvoidsetTitleColor(Color titleColor) voidsetTitlePosition(EdgeEnum titlePosition) Sets the title position relative to the chart.voidMethods inherited from class net.sf.jasperreports.engine.fill.JRFillElement
addDependantElement, addDynamicProperty, clone, clone, clone, collectDelayedEvaluations, collectDelayedEvaluations, collectDelayedEvaluations, collectStyleDelayedEvaluations, collectStyleProviderDelayedEvaluations, delayedEvaluate, delayedEvaluationUpdatesTemplate, evaluateExpression, evaluatePrintWhenExpression, evaluateProperties, getBackcolor, getBand, getBookmarkLevel, getCollapsedHeightAbove, getCollapsedHeightBelow, getConditionalStylesContainer, getDefaultStyleProvider, getDependantElements, getDynamicProperties, getElementGroup, getElementOrigin, getElementTemplate, getEvaluatedProperties, getField, getFiller, getForecolor, getGroupElements, getHeight, getInitStyle, getKey, getOwnBackcolor, getOwnForecolor, getOwnMode, getParent, getParentProperties, getPositionType, getPrepareHeight, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertiesMap, getPropertyExpressions, getRelativeY, getStretchHeight, getStretchType, getStyle, getStyleExpression, getStyleNameReference, getTemplate, getUUID, getVariable, getWidth, getX, getY, hasDynamicProperties, hasDynamicProperty, hasProperties, initDelayedEvaluationPrint, initDelayedEvaluations, initStyleProviders, isAlreadyPrinted, isAutoEvaluateNow, isDelayedStyleEvaluation, isEvaluateAuto, isEvaluateNow, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isPrintWhenExpressionNull, isPrintWhenTrue, isRemoveLineWhenBlank, isReprinted, isToPrint, isValueRepeating, moveDependantElements, performDelayedEvaluation, registerTemplate, reset, resolveElement, setAlreadyPrinted, setBackcolor, setCollapsedHeightAbove, setCollapsedHeightBelow, setConditionalStylesContainer, setCurrentEvaluation, setExpressionEvaluator, setForecolor, setHeight, setMode, setOriginProvider, setPositionType, setPrepareHeight, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setPrintWhenExpressionNull, setPrintWhenTrue, setRelativeY, setRemoveLineWhenBlank, setReprinted, setShrinkable, setStretchHeight, setStretchType, setStyle, setStyleNameReference, setToPrint, setValueRepeating, setWidth, setX, setY, stretchElement, stretchElementToContainer, stretchElementToElementGroup, stretchElementToHeight, toPopulateTemplateStyle, transferProperties, transferPropertiesMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.jasperreports.charts.JRChart
getChartsStyleResolverMethods inherited from interface net.sf.jasperreports.engine.JRCloneable
cloneMethods inherited from interface net.sf.jasperreports.engine.JRCommonElement
getBackcolor, getForecolor, getHeight, getKey, getOwnBackcolor, getOwnForecolor, getOwnMode, getWidth, setBackcolor, setForecolor, setModeMethods inherited from interface net.sf.jasperreports.engine.JRElement
clone, getElementGroup, getPositionType, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertyExpressions, getStretchType, getStyleExpression, getX, getY, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isRemoveLineWhenBlank, setPositionType, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setRemoveLineWhenBlank, setStretchType, setWidth, setXMethods inherited from interface net.sf.jasperreports.engine.JRIdentifiable
getUUIDMethods inherited from interface net.sf.jasperreports.engine.JRPropertiesHolder
getParentProperties, getPropertiesMap, hasPropertiesMethods inherited from interface net.sf.jasperreports.engine.JRStyleContainer
getDefaultStyleProvider, getStyle, getStyleName, getStyleNameReference
-
Field Details
-
EXCEPTION_MESSAGE_KEY_CUSTOMIZER_INSTANCE_ERROR
- See Also:
-
EXCEPTION_MESSAGE_KEY_MULTIAXIS_PLOT_TYPES_MIX_NOT_ALLOWED
- See Also:
-
EXCEPTION_MESSAGE_KEY_MULTIAXIS_PLOT_NOT_SUPPORTED
- See Also:
-
chartType
-
titleFont
-
subtitleFont
-
legendFont
-
initLineBox
-
lineBox
-
dataset
-
plot
-
renderer
-
chartCustomizers
-
renderType
-
theme
-
jfreeChart
protected org.jfree.chart.JFreeChart jfreeChart -
chartHyperlinkProvider
-
-
Constructor Details
-
JRFillChart
-
-
Method Details
-
getStyleResolver
- Overrides:
getStyleResolverin classJRFillElement
-
createAndInitCustomizer
protected JRChartCustomizer createAndInitCustomizer(String customizerClassName, String customizerName) -
setBand
- Overrides:
setBandin classJRFillElement
-
evaluateStyle
- Overrides:
evaluateStylein classJRFillElement- Throws:
JRException
-
getMode
Description copied from interface:JRCommonElementReturns the element transparency mode. The default value depends on the type of the report element. Graphic elements like rectangles and lines are opaque by default, but the images are transparent. Both static texts and text fields are transparent by default, and so are the subreport elements.- Specified by:
getModein interfaceJRCommonElement- Overrides:
getModein classJRFillElement
-
getShowLegend
- Specified by:
getShowLegendin interfaceJRChart
-
setShowLegend
- Specified by:
setShowLegendin interfaceJRChart
-
getRenderType
- Specified by:
getRenderTypein interfaceJRChart
-
setRenderType
- Specified by:
setRenderTypein interfaceJRChart
-
getTheme
-
setTheme
-
getEvaluationTime
Description copied from interface:JREvaluationGets the evaluation time for this text field.- Specified by:
getEvaluationTimein interfaceJREvaluation- Overrides:
getEvaluationTimein classJRFillElement- Returns:
- one of the evaluation time constants in
JRExpression
-
getEvaluationGroup
Description copied from interface:JREvaluationGets the evaluation group for this text field. Used only when evaluation time is group.- Specified by:
getEvaluationGroupin interfaceJREvaluation- See Also:
-
getLineBox
- Specified by:
getLineBoxin interfaceJRBoxContainer
-
getTitleFont
- Specified by:
getTitleFontin interfaceJRChart
-
getTitlePosition
Description copied from interface:JRChartGets the title position relative to the chart.- Specified by:
getTitlePositionin interfaceJRChart
-
setTitlePosition
Description copied from interface:JRChartSets the title position relative to the chart.- Specified by:
setTitlePositionin interfaceJRChart
-
getTitleColor
- Specified by:
getTitleColorin interfaceJRChart
-
getOwnTitleColor
- Specified by:
getOwnTitleColorin interfaceJRChart
-
setTitleColor
- Specified by:
setTitleColorin interfaceJRChart
-
getSubtitleFont
- Specified by:
getSubtitleFontin interfaceJRChart
-
getOwnSubtitleColor
- Specified by:
getOwnSubtitleColorin interfaceJRChart
-
getSubtitleColor
- Specified by:
getSubtitleColorin interfaceJRChart
-
setSubtitleColor
- Specified by:
setSubtitleColorin interfaceJRChart
-
getOwnLegendColor
Returns the color to use for text in the legend.- Specified by:
getOwnLegendColorin interfaceJRChart- Returns:
- the color to use for text in the legend
-
getLegendColor
Returns the inherited color to use for text in the legend.- Specified by:
getLegendColorin interfaceJRChart- Returns:
- the color to use for text in the legend
-
setLegendColor
Sets the color to use for text in the legend.- Specified by:
setLegendColorin interfaceJRChart- Parameters:
legendColor- the color to use for text in the legend
-
getOwnLegendBackgroundColor
Returns the color to use as the background of the legend.- Specified by:
getOwnLegendBackgroundColorin interfaceJRChart- Returns:
- the color to use as the background of the legend
-
getLegendBackgroundColor
Returns the color to use as the background of the legend.- Specified by:
getLegendBackgroundColorin interfaceJRChart- Returns:
- the color to use as the background of the legend
-
setLegendBackgroundColor
Sets the color to use for the background of the legend.- Specified by:
setLegendBackgroundColorin interfaceJRChart- Parameters:
legendBackgroundColor- the color to use for the background of the legend
-
getLegendFont
Returns the font to use in the legend.- Specified by:
getLegendFontin interfaceJRChart- Returns:
- the font to use in the legend
-
getLegendPosition
- Specified by:
getLegendPositionin interfaceJRChart
-
setLegendPosition
- Specified by:
setLegendPositionin interfaceJRChart
-
getTitleExpression
Description copied from interface:JRChartGets the expression whose evaluation will form the title.- Specified by:
getTitleExpressionin interfaceJRChart
-
getSubtitleExpression
Description copied from interface:JRChartGets the expression whose evaluation will form the subtitle.- Specified by:
getSubtitleExpressionin interfaceJRChart
-
getHyperlinkType
Description copied from interface:JRHyperlinkRetrieves the hyperlink type for the element.The actual hyperlink type is determined by
getLinkType(). This method can is used to determine whether the hyperlink type is one of the built-in types or a custom type. When hyperlink is of custom type,CUSTOMis returned.- Specified by:
getHyperlinkTypein interfaceJRHyperlink- Returns:
- one of the hyperlink type constants
- See Also:
-
getHyperlinkTarget
Description copied from interface:JRHyperlinkRetrieves the hyperlink target for the element.The actual hyperlink target is determined by
getLinkTarget(). This method can is used to determine whether the hyperlink target is one of the built-in target names or a custom one. When hyperlink has a custom target name,HyperlinkTargetEnum.CUSTOMis returned.- Specified by:
getHyperlinkTargetin interfaceJRHyperlink- Returns:
- one of the hyperlink target constants
- See Also:
-
getAnchorNameExpression
Description copied from interface:JRAnchorReturns an expression whose value represents the anchor name.- Specified by:
getAnchorNameExpressionin interfaceJRAnchor
-
getBookmarkLevelExpression
Description copied from interface:JRAnchorReturns an expression whose value represents the bookmark level (starting from 1) corresponding to this anchor. When the expression is set and its value is not null, it will override the value of the bookmarkLevel attribute.- Specified by:
getBookmarkLevelExpressionin interfaceJRAnchor
-
getHyperlinkReferenceExpression
Description copied from interface:JRHyperlinkReturns the expression whose value represents the hyperlink reference. It is only used when the hyperlink type is reference or anchor- Specified by:
getHyperlinkReferenceExpressionin interfaceJRHyperlink
-
getHyperlinkWhenExpression
Description copied from interface:JRHyperlinkReturns the expression that is evaluated in order to decide if the hyperlink should be displayed. This expression always returns a boolean value.- Specified by:
getHyperlinkWhenExpressionin interfaceJRHyperlink
-
getHyperlinkAnchorExpression
Description copied from interface:JRHyperlinkReturns the expression whose value represents the anchor. It is only used when the hyperlink type is anchor.- Specified by:
getHyperlinkAnchorExpressionin interfaceJRHyperlink
-
getHyperlinkPageExpression
Description copied from interface:JRHyperlinkReturns an integer representing the page index of the link. It is only used when the hyperlink type is page. If the expression does not evaluate to an integer, an exception will be thrown.- Specified by:
getHyperlinkPageExpressionin interfaceJRHyperlink
-
getLocale
-
getTimeZone
- Overrides:
getTimeZonein classJRFillElement
-
getDataset
Description copied from interface:JRChartGets the chart dataset. Most chart types have different dataset structures, depending on the chart type.- Specified by:
getDatasetin interfaceJRChart
-
setDataset
-
getPlot
Description copied from interface:JRChartGets the chart plot. Plots are used to define various chart visual properties, such as colors and transparency. -
getRenderable
-
getAnchorName
-
getHyperlinkReference
-
getHyperlinkAnchor
-
getHyperlinkPage
-
getHyperlinkTooltip
-
getDefaultLineColor
- Specified by:
getDefaultLineColorin interfaceJRBoxContainer
-
getJRTemplateImage
-
createElementTemplate
- Specified by:
createElementTemplatein classJRFillElement
-
rewind
protected void rewind()- Specified by:
rewindin classJRFillElement
-
evaluate
- Specified by:
evaluatein classJRFillElement- Throws:
JRException
-
evaluateRenderer
- Throws:
JRException
-
getHyperlinkProvider
-
evaluateChart
- Throws:
JRException
-
prepare
protected boolean prepare(int availableHeight, boolean isOverflow, boolean isOverflowAllowed) - Overrides:
preparein classJRFillElement
-
fill
- Specified by:
fillin classJRFillElement
-
copy
-
getChartType
Description copied from interface:JRChartGets the chart type. It must be one of the chart type constants in this class.- Specified by:
getChartTypein interfaceJRChart
-
collectExpressions
- Specified by:
collectExpressionsin interfaceJRElement
-
visit
- Specified by:
visitin interfaceJRVisitable
-
createChartHyperlinkProvider
-
createMultiAxisChart
Build and configure a multiple axis chart. A multiple axis chart support more than one range axis. Multiple datasets using different ranges can be displayed as long as they share a common domain axis. Each dataset can be rendered differently, so one chart can contain (for example) two line charts, a bar chart and an area chart.
Multiple axis charts are handled differently than the other chart types. They do not have a dataset, as each chart that is added to the multiple axis chart has its own dataset. For simplicity, each dataset is treated as its own chart, and in fact we reuse the design of all the chart types and let JFreeChart actually run them. Then we pull out the bits we need and add it to the common chart. All the plot and chart options on the nested charts is ignored, and all formatting is controlled by the plot attached to the multiAxisChart. The one exception is seriesColor, which can be used in a nested report to specify a color for a specific series in that report.- Parameters:
evaluation- current expression evaluation phase- Throws:
JRException
-
convertRange
protected org.jfree.data.Range convertRange(JRDataRange dataRange, byte evaluation) throws JRException Converts a JasperReport data range into one understood by JFreeChart.- Parameters:
dataRange- the JasperReport version of the rangeevaluation- current expression evaluation phase- Returns:
- the JFreeChart version of the range
- Throws:
JRException- thrown when the low value of the range is greater than the high value
-
convertInterval
protected org.jfree.chart.plot.MeterInterval convertInterval(JRMeterInterval interval, byte evaluation) throws JRException Converts a JasperReports meter interval to one that JFreeChart understands.- Parameters:
interval- the JasperReports definition of an intervalevaluation- current evaluation time- Returns:
- the JFreeChart version of the same interval
- Throws:
JRException- thrown when the interval contains an invalid range
-
getChartAxisLocation
-
resolveElement
Description copied from class:JRFillElementResolves an element.- Specified by:
resolveElementin classJRFillElement- Parameters:
element- the elementevaluation- the evaluation type- Throws:
JRException
-
getBookmarkLevel
public int getBookmarkLevel()Description copied from interface:JRAnchorReturns the level of the bookmark corresponding to the anchor.- Specified by:
getBookmarkLevelin interfaceJRAnchor- Returns:
- the level of the bookmark corresponding to the anchor (starting from 1)
or
NO_BOOKMARKif no bookmark should be created for this anchor
-
getCustomizerClass
Description copied from interface:JRChartGets a user specified chart customizer class name.- Specified by:
getCustomizerClassin interfaceJRChart- See Also:
-
createClone
Description copied from interface:JRFillCloneableCreates a working clone of itself.- Specified by:
createClonein interfaceJRFillCloneable- Parameters:
factory- the clone factory to use while creating the clone- Returns:
- a working clone of itself
-
getHyperlinkParameters
Description copied from interface:JRHyperlinkReturns the list of hyperlink parameters.The parameters can be used by custom hyperlink types to generate dynamic links.
- Specified by:
getHyperlinkParametersin interfaceJRHyperlink- Returns:
- the list of hyperlink parameters
-
getLinkType
Description copied from interface:JRHyperlinkReturns the hyperlink type.The type can be one of the built-in types (Reference, LocalAnchor, LocalPage, RemoteAnchor, RemotePage), or can be an arbitrary type.
- Specified by:
getLinkTypein interfaceJRHyperlink- Returns:
- the hyperlink type
-
getLinkTarget
Description copied from interface:JRHyperlinkReturns the hyperlink target name.The type can be one of the built-in names (Self, Blank, Top, Parent), or can be an arbitrary name.
- Specified by:
getLinkTargetin interfaceJRHyperlink- Returns:
- the hyperlink target name
-
getHyperlinkTooltipExpression
Description copied from interface:JRHyperlinkReturns the expression which will generate the hyperlink tooltip.- Specified by:
getHyperlinkTooltipExpressionin interfaceJRHyperlink- Returns:
- the expression which will generate the hyperlink tooltip
-