Interface JRStyle
-
- All Superinterfaces:
java.lang.Cloneable
,JRBoxContainer
,JRCloneable
,JRParagraphContainer
,JRPenContainer
,JRStyleContainer
- All Known Subinterfaces:
JRConditionalStyle
- All Known Implementing Classes:
JRBaseConditionalStyle
,JRBaseStyle
,JRDesignConditionalStyle
,JRDesignStyle
public interface JRStyle extends JRBoxContainer, JRPenContainer, JRParagraphContainer, JRCloneable
Provides a collection of style settings declared at the report level.Report Styles
A report style is a collection of style settings declared at the report level. These settings can be reused throughout the entire report template when setting the style properties of report elements.The
name
attribute of a<style>
element is mandatory. It must be unique because it references the corresponding report style throughout the report.One can use
isDefault="true"
for one of your report style declarations to mark the default for elements that do not or cannot have another style specified.Each report style definition can reference another style definition from which it will inherit some or all of its properties. The
style
attribute inside a<style>
element specifies the name of the parent report style.Below is a list with the main style attributes:
name
- the name of the style. Required.isDefault
- flag that specifies if the style represents the default report style.style
- the name of the parent stylemode
- specifies whether report elements are opaque or transparent. Possible values are:Opaque
Transparent
forecolor
- the font color for text elements or the line color for graphic elementsbackcolor
- the element background colorfill
- the fill pattern. Possible value isSolid
radius
- the radius for some graphic elementshTextAlign
- the horizontal alignment of the text within a text element. Possible values are:Left
- default settingCenter
Right
Justified
vTextAlign
- the vertical alignment of the text within a text element. Possible values are:Top
- default settingMiddle
Bottom
hImageAlign
- the horizontal alignment of the image within an image element. Possible values are:Left
- default settingCenter
Right
vImageAlign
- the vertical alignment of the image within an image element. Possible values are:Top
- default settingMiddle
Bottom
rotation
- the text rotation within a text element. Possible values are:None
- default settingLeft
Right
UpsideDown
fontName
- the name of the font facefontSize
- the font sizeisBold
- flag that specifies whether the font is boldisItalic
- flag that specifies whether the font is italicisUnderline
- flag that specifies whether the font is underlinedisStrikeThrough
- flag that specifies whether the font is strike throughpattern
- specifies the format pattern for text elementsisBlankWhenNull
- flag that specifies whether null values should be represented as blanksmarkup
- the markup style for the text elements. Possible values are:none
- default settingstyled
html
rtf
A style also may contain:
- a
JRPen
element that can be retrieved using thegetLinePen()
method. - a
JRLineBox
element that can be retrieved using thegetLineBox()
method. - a
JRParagraph
element that can be retrieved using theJRParagraphContainer.getParagraph()
method inherited from theJRParagraphContainer
interface.
All report elements can reference a report style to inherit all or part of the style properties. A report style declaration groups all the style-related properties supported throughout the library, but an individual element inherits only those style properties that apply to it. The others will be ignored.
Conditional Styles
Sometimes users need to change a report element style at runtime based on certain conditions (for example, to alternate adjacent row colors in a report detail section). To achieve this goal, one can set some style properties to be enabled only if a specified condition is true. This is done using conditional styles.A conditional style has two elements: a Boolean condition expression and a
style
. The style is used only if the condition evaluates to true.An important aspect is the priority of styles. When applied, a conditional style will override the properties of its parent style.
A style can contain more than one conditional style. In this case, all conditionals that evaluate to true will be appended to the existing style (the second style will be appended to the first, and so on).
By default, the style condition expressions are evaluated during the report filling process at the time that the style reference is used. The conditional expression evaluation will use the current values of referenced variables and fields, regardless of the
evaluationTime
attribute of the element that makes use of the style.If the evaluation of the condition expression of the style needs to be delayed, just like the value of the text field or the image element that uses the conditional style, the
net.sf.jasperreports.style.evaluation.time.enabled
configuration property should be set to true.Style Templates
Report styles can also be defined in external style template files that are referenced by report templates. This allows report designers to define in a single place a common look for a set of reports.A style template is an XML file that contains one or more style definitions. A template can include references to other style template files, hence one can organize a style library as a hierarchical set of style template files.
Style template files use by convention the
*.jrtx
extension, but this is not mandatory.A report can use style templates by explicitly referring them in its definition. References to a style templates are included in JRXML reports as
<template>
elements. Such an element contains an expression that is resolved at fill time to a style template instance.- Author:
- Ionut Nedelcu (ionutned@users.sourceforge.net)
- See Also:
JRLineBox
,JRParagraph
,JRPen
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PROPERTY_EVALUATION_TIME_ENABLED
A flag the determines whether the style of an element is evaluated at the element evaluation time, or at the time the band on which the element is placed is rendered.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.awt.Color
getBackcolor()
JRConditionalStyle[]
getConditionalStyles()
FillEnum
getFillValue()
Indicates the fill type used for this element.java.lang.String
getFontName()
java.lang.Float
getFontsize()
java.awt.Color
getForecolor()
HorizontalImageAlignEnum
getHorizontalImageAlign()
Gets the horizontal image alignment of the element.HorizontalTextAlignEnum
getHorizontalTextAlign()
Gets the horizontal text alignment of the element.JRLineBox
getLineBox()
JRPen
getLinePen()
java.lang.String
getMarkup()
Returns the markup language used to format the text.ModeEnum
getModeValue()
Returns the element transparency mode.java.lang.String
getName()
Gets the style unique name.java.awt.Color
getOwnBackcolor()
FillEnum
getOwnFillValue()
java.lang.String
getOwnFontName()
java.lang.Float
getOwnFontsize()
java.awt.Color
getOwnForecolor()
HorizontalImageAlignEnum
getOwnHorizontalImageAlign()
HorizontalTextAlignEnum
getOwnHorizontalTextAlign()
java.lang.String
getOwnMarkup()
ModeEnum
getOwnModeValue()
java.lang.String
getOwnPattern()
java.lang.String
getOwnPdfEncoding()
java.lang.String
getOwnPdfFontName()
java.lang.Integer
getOwnRadius()
RotationEnum
getOwnRotationValue()
Gets the text own rotation.ScaleImageEnum
getOwnScaleImageValue()
Gets the image own scale type.VerticalImageAlignEnum
getOwnVerticalImageAlign()
VerticalTextAlignEnum
getOwnVerticalTextAlign()
java.lang.String
getPattern()
Gets the pattern used for this text field.java.lang.String
getPdfEncoding()
java.lang.String
getPdfFontName()
java.lang.Integer
getRadius()
Indicates the corner radius for rectangles with round corners.RotationEnum
getRotationValue()
Gets the text rotation.ScaleImageEnum
getScaleImageValue()
Gets the image scale type.VerticalImageAlignEnum
getVerticalImageAlign()
Gets the vertical image alignment of the element.VerticalTextAlignEnum
getVerticalTextAlign()
Gets the vertical text alignment of the element.java.lang.Boolean
isBlankWhenNull()
java.lang.Boolean
isBold()
boolean
isDefault()
Gets a flag that specifies if this is the default report style.java.lang.Boolean
isItalic()
java.lang.Boolean
isOwnBlankWhenNull()
java.lang.Boolean
isOwnBold()
java.lang.Boolean
isOwnItalic()
java.lang.Boolean
isOwnPdfEmbedded()
java.lang.Boolean
isOwnStrikeThrough()
java.lang.Boolean
isOwnUnderline()
java.lang.Boolean
isPdfEmbedded()
java.lang.Boolean
isStrikeThrough()
java.lang.Boolean
isUnderline()
void
setBackcolor(java.awt.Color backcolor)
void
setBlankWhenNull(java.lang.Boolean isBlankWhenNull)
void
setBold(java.lang.Boolean bold)
void
setFill(FillEnum fill)
void
setFontName(java.lang.String fontName)
void
setFontSize(java.lang.Float fontSize)
void
setForecolor(java.awt.Color forecolor)
void
setHorizontalImageAlign(HorizontalImageAlignEnum horizontalAlignment)
void
setHorizontalTextAlign(HorizontalTextAlignEnum horizontalAlignment)
void
setItalic(java.lang.Boolean italic)
void
setMarkup(java.lang.String markup)
void
setMode(ModeEnum mode)
void
setPattern(java.lang.String pattern)
void
setPdfEmbedded(java.lang.Boolean pdfEmbedded)
void
setPdfEncoding(java.lang.String pdfEncoding)
void
setPdfFontName(java.lang.String pdfFontName)
void
setRadius(java.lang.Integer radius)
void
setRotation(RotationEnum rotation)
void
setScaleImage(ScaleImageEnum scaleImage)
void
setStrikeThrough(java.lang.Boolean strikeThrough)
void
setUnderline(java.lang.Boolean underline)
void
setVerticalImageAlign(VerticalImageAlignEnum verticalAlignment)
void
setVerticalTextAlign(VerticalTextAlignEnum verticalAlignment)
-
Methods inherited from interface net.sf.jasperreports.engine.JRBoxContainer
getDefaultLineColor
-
Methods inherited from interface net.sf.jasperreports.engine.JRCloneable
clone
-
Methods inherited from interface net.sf.jasperreports.engine.JRParagraphContainer
getParagraph
-
Methods inherited from interface net.sf.jasperreports.engine.JRPenContainer
getDefaultLineColor, getDefaultLineWidth
-
Methods inherited from interface net.sf.jasperreports.engine.JRStyleContainer
getDefaultStyleProvider, getStyle, getStyleNameReference
-
-
-
-
Field Detail
-
PROPERTY_EVALUATION_TIME_ENABLED
static final java.lang.String PROPERTY_EVALUATION_TIME_ENABLED
A flag the determines whether the style of an element is evaluated at the element evaluation time, or at the time the band on which the element is placed is rendered.This applies to report elements that can have delayed evaluations times (such as text fields and images). When this flag is set to
true
, conditional style expressions of the style that is associated with the element are evaluated at the moment the element is set to evaluate, and the resulting style to the generated print element.By default, this flag is set to
false
. The property can be set globally, at report level and at element level.- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
java.lang.String getName()
Gets the style unique name.
-
isDefault
boolean isDefault()
Gets a flag that specifies if this is the default report style.
-
getModeValue
ModeEnum getModeValue()
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.
-
getOwnModeValue
ModeEnum getOwnModeValue()
-
getForecolor
java.awt.Color getForecolor()
-
getOwnForecolor
java.awt.Color getOwnForecolor()
-
getBackcolor
java.awt.Color getBackcolor()
-
getOwnBackcolor
java.awt.Color getOwnBackcolor()
-
getLinePen
JRPen getLinePen()
-
getFillValue
FillEnum getFillValue()
Indicates the fill type used for this element.- Returns:
- one of the fill constants in
FillEnum
.
-
getOwnFillValue
FillEnum getOwnFillValue()
-
getRadius
java.lang.Integer getRadius()
Indicates the corner radius for rectangles with round corners. The default is 0.
-
getOwnRadius
java.lang.Integer getOwnRadius()
-
getScaleImageValue
ScaleImageEnum getScaleImageValue()
Gets the image scale type.- Returns:
- one of the scale types defined in
ScaleImageEnum
-
getOwnScaleImageValue
ScaleImageEnum getOwnScaleImageValue()
Gets the image own scale type.- Returns:
- one of the scale types defined in
ScaleImageEnum
-
getHorizontalTextAlign
HorizontalTextAlignEnum getHorizontalTextAlign()
Gets the horizontal text alignment of the element.- Returns:
- one of the alignment values defined in
HorizontalTextAlignEnum
-
getOwnHorizontalTextAlign
HorizontalTextAlignEnum getOwnHorizontalTextAlign()
-
getVerticalTextAlign
VerticalTextAlignEnum getVerticalTextAlign()
Gets the vertical text alignment of the element.- Returns:
- one of the alignment values defined in
VerticalTextAlignEnum
-
getOwnVerticalTextAlign
VerticalTextAlignEnum getOwnVerticalTextAlign()
-
getHorizontalImageAlign
HorizontalImageAlignEnum getHorizontalImageAlign()
Gets the horizontal image alignment of the element.- Returns:
- one of the alignment values defined in
HorizontalImageAlignEnum
-
getOwnHorizontalImageAlign
HorizontalImageAlignEnum getOwnHorizontalImageAlign()
-
getVerticalImageAlign
VerticalImageAlignEnum getVerticalImageAlign()
Gets the vertical image alignment of the element.- Returns:
- one of the alignment values defined in
VerticalImageAlignEnum
-
getOwnVerticalImageAlign
VerticalImageAlignEnum getOwnVerticalImageAlign()
-
getLineBox
JRLineBox getLineBox()
- Specified by:
getLineBox
in interfaceJRBoxContainer
-
getRotationValue
RotationEnum getRotationValue()
Gets the text rotation.- Returns:
- a value representing one of the rotation values in the
RotationEnum
.
-
getOwnRotationValue
RotationEnum getOwnRotationValue()
Gets the text own rotation.- Returns:
- a value representing one of the rotation values in the
RotationEnum
.
-
getMarkup
java.lang.String getMarkup()
Returns the markup language used to format the text.
-
getOwnMarkup
java.lang.String getOwnMarkup()
-
getFontName
java.lang.String getFontName()
-
getOwnFontName
java.lang.String getOwnFontName()
-
isBold
java.lang.Boolean isBold()
-
isOwnBold
java.lang.Boolean isOwnBold()
-
isItalic
java.lang.Boolean isItalic()
-
isOwnItalic
java.lang.Boolean isOwnItalic()
-
isUnderline
java.lang.Boolean isUnderline()
-
isOwnUnderline
java.lang.Boolean isOwnUnderline()
-
isStrikeThrough
java.lang.Boolean isStrikeThrough()
-
isOwnStrikeThrough
java.lang.Boolean isOwnStrikeThrough()
-
getFontsize
java.lang.Float getFontsize()
-
getOwnFontsize
java.lang.Float getOwnFontsize()
-
getPdfFontName
java.lang.String getPdfFontName()
-
getOwnPdfFontName
java.lang.String getOwnPdfFontName()
-
getPdfEncoding
java.lang.String getPdfEncoding()
-
getOwnPdfEncoding
java.lang.String getOwnPdfEncoding()
-
isPdfEmbedded
java.lang.Boolean isPdfEmbedded()
-
isOwnPdfEmbedded
java.lang.Boolean isOwnPdfEmbedded()
-
getPattern
java.lang.String getPattern()
Gets the pattern used for this text field. The pattern will be used in a SimpleDateFormat for dates and a DecimalFormat for numeric text fields. The pattern format must follow one of these two classes formatting rules, as specified in the JDK API docs.- Returns:
- a string containing the pattern.
-
getOwnPattern
java.lang.String getOwnPattern()
-
isBlankWhenNull
java.lang.Boolean isBlankWhenNull()
-
isOwnBlankWhenNull
java.lang.Boolean isOwnBlankWhenNull()
-
setForecolor
void setForecolor(java.awt.Color forecolor)
-
setBackcolor
void setBackcolor(java.awt.Color backcolor)
-
setMode
void setMode(ModeEnum mode)
-
setFill
void setFill(FillEnum fill)
-
setRadius
void setRadius(java.lang.Integer radius)
-
setScaleImage
void setScaleImage(ScaleImageEnum scaleImage)
-
setHorizontalTextAlign
void setHorizontalTextAlign(HorizontalTextAlignEnum horizontalAlignment)
-
setVerticalTextAlign
void setVerticalTextAlign(VerticalTextAlignEnum verticalAlignment)
-
setHorizontalImageAlign
void setHorizontalImageAlign(HorizontalImageAlignEnum horizontalAlignment)
-
setVerticalImageAlign
void setVerticalImageAlign(VerticalImageAlignEnum verticalAlignment)
-
setRotation
void setRotation(RotationEnum rotation)
-
setFontName
void setFontName(java.lang.String fontName)
-
setBold
void setBold(java.lang.Boolean bold)
-
setItalic
void setItalic(java.lang.Boolean italic)
-
setPdfEmbedded
void setPdfEmbedded(java.lang.Boolean pdfEmbedded)
-
setStrikeThrough
void setStrikeThrough(java.lang.Boolean strikeThrough)
-
setMarkup
void setMarkup(java.lang.String markup)
-
setUnderline
void setUnderline(java.lang.Boolean underline)
-
setPattern
void setPattern(java.lang.String pattern)
-
setBlankWhenNull
void setBlankWhenNull(java.lang.Boolean isBlankWhenNull)
-
setPdfEncoding
void setPdfEncoding(java.lang.String pdfEncoding)
-
setPdfFontName
void setPdfFontName(java.lang.String pdfFontName)
-
setFontSize
void setFontSize(java.lang.Float fontSize)
-
getConditionalStyles
JRConditionalStyle[] getConditionalStyles()
-
-