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 ChartHyperlinkProvider
protected ChartTypeEnum
protected JRFillChartDataset
static final String
static final String
static final String
protected final JRLineBox
protected org.jfree.chart.JFreeChart
protected JRFont
protected JRLineBox
protected JRChartPlot
protected Renderable
protected String
protected JRFont
protected ChartTheme
protected JRFont
Fields 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, templates
Fields inherited from interface net.sf.jasperreports.engine.JRAnchor
NO_BOOKMARK
Fields inherited from interface net.sf.jasperreports.charts.JRChart
PROPERTY_CHART_RENDER_TYPE, PROPERTY_CHART_THEME, RENDER_TYPE_DRAW, RENDER_TYPE_IMAGE, RENDER_TYPE_SVG
Fields inherited from interface net.sf.jasperreports.engine.JRElement
PROPERTY_ELEMENT_TEMPLATE_POPULATE_STYLE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
JRFillChart
(JRBaseFiller filler, JRChart chart, ChartsFillObjectFactory factory) -
Method Summary
Modifier and TypeMethodDescriptionvoid
collectExpressions
(JRExpressionCollector collector) protected org.jfree.chart.plot.MeterInterval
convertInterval
(JRMeterInterval interval, byte evaluation) Converts a JasperReports meter interval to one that JFreeChart understands.protected org.jfree.data.Range
convertRange
(JRDataRange dataRange, byte evaluation) Converts a JasperReport data range into one understood by JFreeChart.protected void
copy
(JRPrintImage printImage) protected JRChartCustomizer
createAndInitCustomizer
(String customizerClassName, String customizerName) protected ChartHyperlinkProvider
createClone
(JRFillCloneFactory factory) Creates a working clone of itself.protected JRTemplateElement
protected void
createMultiAxisChart
(byte evaluation) Build and configure a multiple axis chart.protected void
evaluate
(byte evaluation) protected org.jfree.chart.JFreeChart
evaluateChart
(byte evaluation) protected void
evaluateRenderer
(byte evaluation) protected void
evaluateStyle
(byte evaluation) protected JRPrintElement
fill()
protected String
Returns an expression whose value represents the anchor name.int
Returns 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.AxisLocation
getChartAxisLocation
(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 String
Returns the expression whose value represents the anchor.protected Integer
Returns an integer representing the page index of the link.Returns the list of hyperlink parameters.protected ChartHyperlinkProvider
protected String
Returns the expression whose value represents the hyperlink reference.Retrieves the hyperlink target for the element.protected String
Returns 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 JRTemplateImage
Returns 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 Renderable
protected StyleResolver
Gets 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 boolean
prepare
(int availableHeight, boolean isOverflow, boolean isOverflowAllowed) protected void
resolveElement
(JRPrintElement element, byte evaluation) Resolves an element.protected void
rewind()
void
setBand
(JRFillBand band) void
setDataset
(JRFillChartDataset dataset) void
setLegendBackgroundColor
(Color legendBackgroundColor) Sets the color to use for the background of the legend.void
setLegendColor
(Color legendColor) Sets the color to use for text in the legend.void
setLegendPosition
(EdgeEnum legendPosition) void
setRenderType
(String renderType) void
setShowLegend
(Boolean isShowLegend) void
setSubtitleColor
(Color subtitleColor) void
void
setTitleColor
(Color titleColor) void
setTitlePosition
(EdgeEnum titlePosition) Sets the title position relative to the chart.void
Methods 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, transferProperties
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.sf.jasperreports.charts.JRChart
getChartsStyleResolver
Methods inherited from interface net.sf.jasperreports.engine.JRCloneable
clone
Methods inherited from interface net.sf.jasperreports.engine.JRCommonElement
getBackcolor, getForecolor, getHeight, getKey, getOwnBackcolor, getOwnForecolor, getOwnMode, getWidth, setBackcolor, setForecolor, setMode
Methods 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, setX
Methods inherited from interface net.sf.jasperreports.engine.JRIdentifiable
getUUID
Methods inherited from interface net.sf.jasperreports.engine.JRPropertiesHolder
getParentProperties, getPropertiesMap, hasProperties
Methods 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:
getStyleResolver
in classJRFillElement
-
createAndInitCustomizer
protected JRChartCustomizer createAndInitCustomizer(String customizerClassName, String customizerName) -
setBand
- Overrides:
setBand
in classJRFillElement
-
evaluateStyle
- Overrides:
evaluateStyle
in classJRFillElement
- Throws:
JRException
-
getMode
Description copied from interface:JRCommonElement
Returns 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:
getMode
in interfaceJRCommonElement
- Overrides:
getMode
in classJRFillElement
-
getShowLegend
- Specified by:
getShowLegend
in interfaceJRChart
-
setShowLegend
- Specified by:
setShowLegend
in interfaceJRChart
-
getRenderType
- Specified by:
getRenderType
in interfaceJRChart
-
setRenderType
- Specified by:
setRenderType
in interfaceJRChart
-
getTheme
-
setTheme
-
getEvaluationTime
Description copied from interface:JREvaluation
Gets the evaluation time for this text field.- Specified by:
getEvaluationTime
in interfaceJREvaluation
- Overrides:
getEvaluationTime
in classJRFillElement
- Returns:
- one of the evaluation time constants in
JRExpression
-
getEvaluationGroup
Description copied from interface:JREvaluation
Gets the evaluation group for this text field. Used only when evaluation time is group.- Specified by:
getEvaluationGroup
in interfaceJREvaluation
- See Also:
-
getLineBox
- Specified by:
getLineBox
in interfaceJRBoxContainer
-
getTitleFont
- Specified by:
getTitleFont
in interfaceJRChart
-
getTitlePosition
Description copied from interface:JRChart
Gets the title position relative to the chart.- Specified by:
getTitlePosition
in interfaceJRChart
-
setTitlePosition
Description copied from interface:JRChart
Sets the title position relative to the chart.- Specified by:
setTitlePosition
in interfaceJRChart
-
getTitleColor
- Specified by:
getTitleColor
in interfaceJRChart
-
getOwnTitleColor
- Specified by:
getOwnTitleColor
in interfaceJRChart
-
setTitleColor
- Specified by:
setTitleColor
in interfaceJRChart
-
getSubtitleFont
- Specified by:
getSubtitleFont
in interfaceJRChart
-
getOwnSubtitleColor
- Specified by:
getOwnSubtitleColor
in interfaceJRChart
-
getSubtitleColor
- Specified by:
getSubtitleColor
in interfaceJRChart
-
setSubtitleColor
- Specified by:
setSubtitleColor
in interfaceJRChart
-
getOwnLegendColor
Returns the color to use for text in the legend.- Specified by:
getOwnLegendColor
in 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:
getLegendColor
in interfaceJRChart
- Returns:
- the color to use for text in the legend
-
setLegendColor
Sets the color to use for text in the legend.- Specified by:
setLegendColor
in 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:
getOwnLegendBackgroundColor
in 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:
getLegendBackgroundColor
in 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:
setLegendBackgroundColor
in interfaceJRChart
- Parameters:
legendBackgroundColor
- the color to use for the background of the legend
-
getLegendFont
Returns the font to use in the legend.- Specified by:
getLegendFont
in interfaceJRChart
- Returns:
- the font to use in the legend
-
getLegendPosition
- Specified by:
getLegendPosition
in interfaceJRChart
-
setLegendPosition
- Specified by:
setLegendPosition
in interfaceJRChart
-
getTitleExpression
Description copied from interface:JRChart
Gets the expression whose evaluation will form the title.- Specified by:
getTitleExpression
in interfaceJRChart
-
getSubtitleExpression
Description copied from interface:JRChart
Gets the expression whose evaluation will form the subtitle.- Specified by:
getSubtitleExpression
in interfaceJRChart
-
getHyperlinkType
Description copied from interface:JRHyperlink
Retrieves 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,CUSTOM
is returned.- Specified by:
getHyperlinkType
in interfaceJRHyperlink
- Returns:
- one of the hyperlink type constants
- See Also:
-
getHyperlinkTarget
Description copied from interface:JRHyperlink
Retrieves 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.CUSTOM
is returned.- Specified by:
getHyperlinkTarget
in interfaceJRHyperlink
- Returns:
- one of the hyperlink target constants
- See Also:
-
getAnchorNameExpression
Description copied from interface:JRAnchor
Returns an expression whose value represents the anchor name.- Specified by:
getAnchorNameExpression
in interfaceJRAnchor
-
getBookmarkLevelExpression
Description copied from interface:JRAnchor
Returns 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:
getBookmarkLevelExpression
in interfaceJRAnchor
-
getHyperlinkReferenceExpression
Description copied from interface:JRHyperlink
Returns the expression whose value represents the hyperlink reference. It is only used when the hyperlink type is reference or anchor- Specified by:
getHyperlinkReferenceExpression
in interfaceJRHyperlink
-
getHyperlinkWhenExpression
Description copied from interface:JRHyperlink
Returns the expression that is evaluated in order to decide if the hyperlink should be displayed. This expression always returns a boolean value.- Specified by:
getHyperlinkWhenExpression
in interfaceJRHyperlink
-
getHyperlinkAnchorExpression
Description copied from interface:JRHyperlink
Returns the expression whose value represents the anchor. It is only used when the hyperlink type is anchor.- Specified by:
getHyperlinkAnchorExpression
in interfaceJRHyperlink
-
getHyperlinkPageExpression
Description copied from interface:JRHyperlink
Returns 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:
getHyperlinkPageExpression
in interfaceJRHyperlink
-
getLocale
-
getTimeZone
- Overrides:
getTimeZone
in classJRFillElement
-
getDataset
Description copied from interface:JRChart
Gets the chart dataset. Most chart types have different dataset structures, depending on the chart type.- Specified by:
getDataset
in interfaceJRChart
-
setDataset
-
getPlot
Description copied from interface:JRChart
Gets 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:
getDefaultLineColor
in interfaceJRBoxContainer
-
getJRTemplateImage
-
createElementTemplate
- Specified by:
createElementTemplate
in classJRFillElement
-
rewind
protected void rewind()- Specified by:
rewind
in classJRFillElement
-
evaluate
- Specified by:
evaluate
in classJRFillElement
- Throws:
JRException
-
evaluateRenderer
- Throws:
JRException
-
getHyperlinkProvider
-
evaluateChart
- Throws:
JRException
-
prepare
protected boolean prepare(int availableHeight, boolean isOverflow, boolean isOverflowAllowed) - Overrides:
prepare
in classJRFillElement
-
fill
- Specified by:
fill
in classJRFillElement
-
copy
-
getChartType
Description copied from interface:JRChart
Gets the chart type. It must be one of the chart type constants in this class.- Specified by:
getChartType
in interfaceJRChart
-
collectExpressions
- Specified by:
collectExpressions
in interfaceJRElement
-
visit
- Specified by:
visit
in 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:JRFillElement
Resolves an element.- Specified by:
resolveElement
in classJRFillElement
- Parameters:
element
- the elementevaluation
- the evaluation type- Throws:
JRException
-
getBookmarkLevel
public int getBookmarkLevel()Description copied from interface:JRAnchor
Returns the level of the bookmark corresponding to the anchor.- Specified by:
getBookmarkLevel
in interfaceJRAnchor
- Returns:
- the level of the bookmark corresponding to the anchor (starting from 1)
or
NO_BOOKMARK
if no bookmark should be created for this anchor
-
getCustomizerClass
Description copied from interface:JRChart
Gets a user specified chart customizer class name.- Specified by:
getCustomizerClass
in interfaceJRChart
- See Also:
-
createClone
Description copied from interface:JRFillCloneable
Creates a working clone of itself.- Specified by:
createClone
in interfaceJRFillCloneable
- Parameters:
factory
- the clone factory to use while creating the clone- Returns:
- a working clone of itself
-
getHyperlinkParameters
Description copied from interface:JRHyperlink
Returns the list of hyperlink parameters.The parameters can be used by custom hyperlink types to generate dynamic links.
- Specified by:
getHyperlinkParameters
in interfaceJRHyperlink
- Returns:
- the list of hyperlink parameters
-
getLinkType
Description copied from interface:JRHyperlink
Returns 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:
getLinkType
in interfaceJRHyperlink
- Returns:
- the hyperlink type
-
getLinkTarget
Description copied from interface:JRHyperlink
Returns 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:
getLinkTarget
in interfaceJRHyperlink
- Returns:
- the hyperlink target name
-
getHyperlinkTooltipExpression
Description copied from interface:JRHyperlink
Returns the expression which will generate the hyperlink tooltip.- Specified by:
getHyperlinkTooltipExpression
in interfaceJRHyperlink
- Returns:
- the expression which will generate the hyperlink tooltip
-