public class TextUtilities extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static LogContext |
logger
Access to logging facilities.
|
Modifier and Type | Method and Description |
---|---|
static java.awt.Shape |
calculateRotatedStringBounds(java.lang.String text,
java.awt.Graphics2D g2,
float textX,
float textY,
double angle,
float rotateX,
float rotateY)
Returns a shape that represents the bounds of the string after the
specified rotation has been applied.
|
static java.awt.Shape |
calculateRotatedStringBounds(java.lang.String text,
java.awt.Graphics2D g2,
float x,
float y,
TextAnchor textAnchor,
double angle,
TextAnchor rotationAnchor)
Returns a shape that represents the bounds of the string after the
specified rotation has been applied.
|
static TextBlock |
createTextBlock(java.lang.String text,
java.awt.Font font,
java.awt.Paint paint)
Creates a
TextBlock from a String . |
static TextBlock |
createTextBlock(java.lang.String text,
java.awt.Font font,
java.awt.Paint paint,
float maxWidth,
int maxLines,
TextMeasurer measurer)
Creates a new text block from the given string, breaking the
text into lines so that the
maxWidth value is
respected. |
static TextBlock |
createTextBlock(java.lang.String text,
java.awt.Font font,
java.awt.Paint paint,
float maxWidth,
TextMeasurer measurer)
Creates a new text block from the given string, breaking the
text into lines so that the
maxWidth value is
respected. |
static java.awt.geom.Rectangle2D |
drawAlignedString(java.lang.String text,
java.awt.Graphics2D g2,
float x,
float y,
TextAnchor anchor)
Draws a string such that the specified anchor point is aligned to the
given (x, y) location.
|
static void |
drawRotatedString(java.lang.String text,
java.awt.Graphics2D g2,
double angle,
float x,
float y)
A utility method for drawing rotated text.
|
static void |
drawRotatedString(java.lang.String text,
java.awt.Graphics2D g2,
float textX,
float textY,
double angle,
float rotateX,
float rotateY)
A utility method for drawing rotated text.
|
static void |
drawRotatedString(java.lang.String text,
java.awt.Graphics2D g2,
float x,
float y,
TextAnchor textAnchor,
double angle,
float rotationX,
float rotationY)
Draws a string that is aligned by one anchor point and rotated about
another anchor point.
|
static void |
drawRotatedString(java.lang.String text,
java.awt.Graphics2D g2,
float x,
float y,
TextAnchor textAnchor,
double angle,
TextAnchor rotationAnchor)
Draws a string that is aligned by one anchor point and rotated about
another anchor point.
|
static boolean |
getDrawStringsWithFontAttributes()
Returns the flag that controls whether or not strings are drawn using
the current font attributes (such as underlining, strikethrough etc).
|
static java.awt.geom.Rectangle2D |
getTextBounds(java.lang.String text,
java.awt.Graphics2D g2,
java.awt.FontMetrics fm)
Returns the bounds for the specified text.
|
static boolean |
getUseFontMetricsGetStringBounds()
Returns the flag that controls whether the FontMetrics.getStringBounds()
method is used or not.
|
static boolean |
isUseDrawRotatedStringWorkaround()
Returns the flag that controls whether or not a workaround is used for
drawing rotated strings.
|
static void |
setDrawStringsWithFontAttributes(boolean b)
Sets the flag that controls whether or not strings are drawn using the
current font attributes.
|
static void |
setUseDrawRotatedStringWorkaround(boolean use)
Sets the flag that controls whether or not a workaround is used for
drawing rotated strings.
|
static void |
setUseFontMetricsGetStringBounds(boolean use)
Sets the flag that controls whether the FontMetrics.getStringBounds()
method is used or not.
|
protected static final LogContext logger
public static TextBlock createTextBlock(java.lang.String text, java.awt.Font font, java.awt.Paint paint)
text
- the text.font
- the font.paint
- the paint.public static TextBlock createTextBlock(java.lang.String text, java.awt.Font font, java.awt.Paint paint, float maxWidth, TextMeasurer measurer)
maxWidth
value is
respected.text
- the text.font
- the font.paint
- the paint.maxWidth
- the maximum width for each line.measurer
- the text measurer.public static TextBlock createTextBlock(java.lang.String text, java.awt.Font font, java.awt.Paint paint, float maxWidth, int maxLines, TextMeasurer measurer)
maxWidth
value is
respected.text
- the text.font
- the font.paint
- the paint.maxWidth
- the maximum width for each line.maxLines
- the maximum number of lines.measurer
- the text measurer.public static java.awt.geom.Rectangle2D getTextBounds(java.lang.String text, java.awt.Graphics2D g2, java.awt.FontMetrics fm)
text
- the text (null
permitted).g2
- the graphics context (not null
).fm
- the font metrics (not null
).null
if the text
argument is null
).public static java.awt.geom.Rectangle2D drawAlignedString(java.lang.String text, java.awt.Graphics2D g2, float x, float y, TextAnchor anchor)
text
- the text.g2
- the graphics device.x
- the x coordinate (Java 2D).y
- the y coordinate (Java 2D).anchor
- the anchor location.public static void drawRotatedString(java.lang.String text, java.awt.Graphics2D g2, double angle, float x, float y)
A common rotation is -Math.PI/2 which draws text 'vertically' (with the top of the characters on the left).
text
- the text.g2
- the graphics device.angle
- the angle of the (clockwise) rotation (in radians).x
- the x-coordinate.y
- the y-coordinate.public static void drawRotatedString(java.lang.String text, java.awt.Graphics2D g2, float textX, float textY, double angle, float rotateX, float rotateY)
A common rotation is -Math.PI/2 which draws text 'vertically' (with the top of the characters on the left).
text
- the text.g2
- the graphics device.textX
- the x-coordinate for the text (before rotation).textY
- the y-coordinate for the text (before rotation).angle
- the angle of the (clockwise) rotation (in radians).rotateX
- the point about which the text is rotated.rotateY
- the point about which the text is rotated.public static void drawRotatedString(java.lang.String text, java.awt.Graphics2D g2, float x, float y, TextAnchor textAnchor, double angle, float rotationX, float rotationY)
text
- the text.g2
- the graphics device.x
- the x-coordinate for positioning the text.y
- the y-coordinate for positioning the text.textAnchor
- the text anchor.angle
- the rotation angle.rotationX
- the x-coordinate for the rotation anchor point.rotationY
- the y-coordinate for the rotation anchor point.public static void drawRotatedString(java.lang.String text, java.awt.Graphics2D g2, float x, float y, TextAnchor textAnchor, double angle, TextAnchor rotationAnchor)
text
- the text.g2
- the graphics device.x
- the x-coordinate for positioning the text.y
- the y-coordinate for positioning the text.textAnchor
- the text anchor.angle
- the rotation angle (in radians).rotationAnchor
- the rotation anchor.public static java.awt.Shape calculateRotatedStringBounds(java.lang.String text, java.awt.Graphics2D g2, float x, float y, TextAnchor textAnchor, double angle, TextAnchor rotationAnchor)
text
- the text (null
permitted).g2
- the graphics device.x
- the x coordinate for the anchor point.y
- the y coordinate for the anchor point.textAnchor
- the text anchor.angle
- the angle.rotationAnchor
- the rotation anchor.null
).public static java.awt.Shape calculateRotatedStringBounds(java.lang.String text, java.awt.Graphics2D g2, float textX, float textY, double angle, float rotateX, float rotateY)
text
- the text (null
permitted).g2
- the graphics device.textX
- the x coordinate for the text.textY
- the y coordinate for the text.angle
- the angle.rotateX
- the x coordinate for the rotation point.rotateY
- the y coordinate for the rotation point.null
if text
is
null or has zero length).public static boolean getUseFontMetricsGetStringBounds()
public static void setUseFontMetricsGetStringBounds(boolean use)
use
- the flag.public static boolean isUseDrawRotatedStringWorkaround()
public static void setUseDrawRotatedStringWorkaround(boolean use)
TextLayout
instance to draw the text instead of calling the
drawString()
method in the Graphics2D
class.use
- the new flag value.public static boolean getDrawStringsWithFontAttributes()
false
.public static void setDrawStringsWithFontAttributes(boolean b)
b
- the new flag value.