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.