Class SurveyScale
- java.lang.Object
-
- org.jfree.report.modules.misc.survey.SurveyScale
-
- All Implemented Interfaces:
java.io.Serializable
public class SurveyScale extends java.lang.Object implements java.io.Serializable
Draws a survey scale. By implementing the Drawable interface, instances can be displayed within a report using the DrawableElement class.- Author:
- David Gilbert
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SurveyScale()
Creates a new default instance.SurveyScale(int lowest, int highest, java.lang.Number[] values)
Creates a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.awt.Shape
createDiamond(float s)
Creates a diamond shape.static java.awt.Shape
createDownTriangle(float s)
Creates a triangle shape that points downwards.protected java.util.ArrayList
createShapeList()
Creates the shape list used when drawing the scale.static java.awt.Shape
createUpTriangle(float s)
Creates a triangle shape that points upwards.void
draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
Draws the survey scale.protected void
drawBorder(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
protected void
drawRangeArea(java.awt.geom.Rectangle2D area, java.awt.Graphics2D g2)
protected void
drawScaleValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
protected void
drawTickMarks(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
protected void
drawValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
java.awt.Paint
getBorderPaint()
java.awt.Shape
getDefaultShape()
Returns the default shape, which is used, if a shape for a certain value is not defined.java.awt.Paint
getFillPaint()
int
getHighest()
protected double
getLowerBound()
double
getLowerMargin()
int
getLowest()
java.awt.Stroke
getOutlineStroke()
protected int
getRange()
java.lang.Number
getRangeLowerBound()
Returns the lower bound of the highlighted range.java.awt.Paint
getRangePaint()
Returns the paint used to highlight the range.java.lang.Number
getRangeUpperBound()
Returns the upper bound of the highlighted range.java.awt.Font
getScaleValueFont()
Returns the font used to display the scale values.java.awt.Paint
getScaleValuePaint()
Returns the color used to draw the scale values (if they are visible).java.awt.Shape
getShape(int index)
Returns the shape used to indicate the value of a response.java.awt.Paint
getTickMarkPaint()
protected double
getUpperBound()
double
getUpperMargin()
java.lang.Number[]
getValues()
boolean
isAutoConfigure()
boolean
isDrawBorder()
Returns a flag that controls whether or not a border is drawn around the scale.boolean
isDrawScaleValues()
Returns a flag that controls whether or not scale values are drawn.boolean
isDrawTickMarks()
Returns the flag that controls whether the tick marks are drawn.boolean
isShapeFilled(int index)
Returns a flag that controls whether the shape for a particular value should be filled.protected void
recompute()
This method is called whenever lowest or highest has changed.void
setAutoConfigure(boolean autoConfigure)
void
setBorderPaint(java.awt.Paint borderPaint)
void
setDefaultShape(java.awt.Shape defaultShape)
Redefines the default shape.void
setDrawBorder(boolean flag)
Sets a flag that controls whether or not a border is drawn around the scale.void
setDrawScaleValues(boolean flag)
Sets a flag that controls whether or not scale values are drawn.void
setDrawTickMarks(boolean flag)
Sets the flag that controls whether the tick marks are drawn.void
setFillPaint(java.awt.Paint fillPaint)
void
setHighest(int highest)
protected void
setLowerBound(double lowerBound)
void
setLowerMargin(double lowerMargin)
void
setLowest(int lowest)
void
setOutlineStroke(java.awt.Stroke outlineStroke)
protected void
setRange(int range)
void
setRangeLowerBound(java.lang.Number bound)
Sets the lower bound for the range that is highlighted on the scale.void
setRangePaint(java.awt.Paint paint)
Sets the paint used to highlight the range (if one is specified).void
setRangeUpperBound(java.lang.Number bound)
Sets the upper bound for the range that is highlighted on the scale.void
setScaleValueFont(java.awt.Font font)
Sets the font used to display the scale values.void
setScaleValuePaint(java.awt.Paint paint)
Sets the color used to draw the scale values.void
setShape(int index, java.awt.Shape shape)
Sets the shape used to mark a particular value in the dataset.void
setShapeFilled(int index, boolean fill)
Sets the flag that controls whether the shape for a particular value should be filled.void
setTickMarkPaint(java.awt.Paint tickMarkPaint)
protected void
setUpperBound(double upperBound)
void
setUpperMargin(double upperMargin)
-
-
-
Constructor Detail
-
SurveyScale
public SurveyScale()
Creates a new default instance.
-
SurveyScale
public SurveyScale(int lowest, int highest, java.lang.Number[] values)
Creates a new instance.- Parameters:
lowest
- the lowest response value on the scale.highest
- the highest response value on the scale.values
- the values to display.
-
-
Method Detail
-
isAutoConfigure
public boolean isAutoConfigure()
-
setAutoConfigure
public void setAutoConfigure(boolean autoConfigure)
-
getLowest
public int getLowest()
-
setLowest
public void setLowest(int lowest)
-
getHighest
public int getHighest()
-
setHighest
public void setHighest(int highest)
-
recompute
protected void recompute()
This method is called whenever lowest or highest has changed. It will recompute the range and upper and lower bounds.
-
getRange
protected int getRange()
-
setRange
protected void setRange(int range)
-
getLowerBound
protected double getLowerBound()
-
setLowerBound
protected void setLowerBound(double lowerBound)
-
getUpperBound
protected double getUpperBound()
-
setUpperBound
protected void setUpperBound(double upperBound)
-
createShapeList
protected java.util.ArrayList createShapeList()
Creates the shape list used when drawing the scale. The list returned must contain exactly 6 elements.- Returns:
-
createDiamond
public static java.awt.Shape createDiamond(float s)
Creates a diamond shape.- Parameters:
s
- the size factor (equal to half the height of the diamond).- Returns:
- A diamond shape.
-
createUpTriangle
public static java.awt.Shape createUpTriangle(float s)
Creates a triangle shape that points upwards.- Parameters:
s
- the size factor (equal to half the height of the triangle).- Returns:
- A triangle shape.
-
createDownTriangle
public static java.awt.Shape createDownTriangle(float s)
Creates a triangle shape that points downwards.- Parameters:
s
- the size factor (equal to half the height of the triangle).- Returns:
- A triangle shape.
-
getRangeLowerBound
public java.lang.Number getRangeLowerBound()
Returns the lower bound of the highlighted range. Anull
value indicates that no range is set for highlighting.- Returns:
- The lower bound (possibly
null
).
-
setRangeLowerBound
public void setRangeLowerBound(java.lang.Number bound)
Sets the lower bound for the range that is highlighted on the scale.- Parameters:
bound
- the lower bound (null
permitted).
-
getRangeUpperBound
public java.lang.Number getRangeUpperBound()
Returns the upper bound of the highlighted range. Anull
value indicates that no range is set for highlighting.- Returns:
- The upper bound (possibly
null
).
-
setRangeUpperBound
public void setRangeUpperBound(java.lang.Number bound)
Sets the upper bound for the range that is highlighted on the scale.- Parameters:
bound
- the upper bound (null
permitted).
-
isDrawBorder
public boolean isDrawBorder()
Returns a flag that controls whether or not a border is drawn around the scale.- Returns:
- A boolean.
-
setDrawBorder
public void setDrawBorder(boolean flag)
Sets a flag that controls whether or not a border is drawn around the scale.- Parameters:
flag
- the flag.
-
isDrawTickMarks
public boolean isDrawTickMarks()
Returns the flag that controls whether the tick marks are drawn.- Returns:
- A boolean.
-
setDrawTickMarks
public void setDrawTickMarks(boolean flag)
Sets the flag that controls whether the tick marks are drawn.- Parameters:
flag
- a boolean.
-
isDrawScaleValues
public boolean isDrawScaleValues()
Returns a flag that controls whether or not scale values are drawn.- Returns:
- a boolean.
-
setDrawScaleValues
public void setDrawScaleValues(boolean flag)
Sets a flag that controls whether or not scale values are drawn.- Parameters:
flag
- the flag.
-
getScaleValueFont
public java.awt.Font getScaleValueFont()
Returns the font used to display the scale values.- Returns:
- A font (never
null
).
-
setScaleValueFont
public void setScaleValueFont(java.awt.Font font)
Sets the font used to display the scale values.- Parameters:
font
- the font (null
not permitted).
-
getScaleValuePaint
public java.awt.Paint getScaleValuePaint()
Returns the color used to draw the scale values (if they are visible).- Returns:
- A paint (never
null
).
-
setScaleValuePaint
public void setScaleValuePaint(java.awt.Paint paint)
Sets the color used to draw the scale values.- Parameters:
paint
- the paint (null
not permitted).
-
getShape
public java.awt.Shape getShape(int index)
Returns the shape used to indicate the value of a response.- Parameters:
index
- the value index (zero-based).- Returns:
- The shape.
-
setShape
public void setShape(int index, java.awt.Shape shape)
Sets the shape used to mark a particular value in the dataset.- Parameters:
index
- the value index (zero-based).shape
- the shape (null
not permitted).
-
isShapeFilled
public boolean isShapeFilled(int index)
Returns a flag that controls whether the shape for a particular value should be filled.- Parameters:
index
- the value index (zero-based).- Returns:
- A boolean.
-
setShapeFilled
public void setShapeFilled(int index, boolean fill)
Sets the flag that controls whether the shape for a particular value should be filled.- Parameters:
index
- the value index (zero-based).fill
- the flag.
-
getRangePaint
public java.awt.Paint getRangePaint()
Returns the paint used to highlight the range.- Returns:
- A
Paint
object (nevernull
).
-
setRangePaint
public void setRangePaint(java.awt.Paint paint)
Sets the paint used to highlight the range (if one is specified).- Parameters:
paint
- the paint (null
not permitted).
-
getBorderPaint
public java.awt.Paint getBorderPaint()
-
setBorderPaint
public void setBorderPaint(java.awt.Paint borderPaint)
-
getDefaultShape
public java.awt.Shape getDefaultShape()
Returns the default shape, which is used, if a shape for a certain value is not defined.- Returns:
- the default shape, never null.
-
setDefaultShape
public void setDefaultShape(java.awt.Shape defaultShape)
Redefines the default shape.- Parameters:
defaultShape
- the default shape- Throws:
java.lang.NullPointerException
- if the given shape is null.
-
getTickMarkPaint
public java.awt.Paint getTickMarkPaint()
-
setTickMarkPaint
public void setTickMarkPaint(java.awt.Paint tickMarkPaint)
-
getValues
public java.lang.Number[] getValues()
-
getFillPaint
public java.awt.Paint getFillPaint()
-
setFillPaint
public void setFillPaint(java.awt.Paint fillPaint)
-
getOutlineStroke
public java.awt.Stroke getOutlineStroke()
-
setOutlineStroke
public void setOutlineStroke(java.awt.Stroke outlineStroke)
-
getUpperMargin
public double getUpperMargin()
-
setUpperMargin
public void setUpperMargin(double upperMargin)
-
getLowerMargin
public double getLowerMargin()
-
setLowerMargin
public void setLowerMargin(double lowerMargin)
-
draw
public void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
Draws the survey scale.- Parameters:
g2
- the graphics device.area
- the area.
-
drawValues
protected void drawValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
-
drawScaleValues
protected void drawScaleValues(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
-
drawTickMarks
protected void drawTickMarks(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
-
drawRangeArea
protected void drawRangeArea(java.awt.geom.Rectangle2D area, java.awt.Graphics2D g2)
-
drawBorder
protected void drawBorder(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area)
-
-