Class Text
- java.lang.Object
-
- paintingcanvas.drawable.DrawableBase<Text>
-
- paintingcanvas.drawable.Text
-
- All Implemented Interfaces:
Animatable
,Anchorable<Text>
,Colorable<Text>
,Drawable<Text>
,Positionable<Text>
public class Text extends DrawableBase<Text> implements Anchorable<Text>
A Text element, used for drawing text on the canvas.
Anchors work a bit different for text elements.
Anchor.CENTER
centers the text at the baseline. This requiresAnchor.TOP_CENTER
to differ by the ascent of the text, andAnchor.BOTTOM_CENTER
to differ by the descent.Text text = new Text(100, 100, "Hello World");
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class paintingcanvas.drawable.DrawableBase
DrawableBase.InteractableShape<T extends Drawable<T>>, DrawableBase.OutlineableDrawableBase<T extends Drawable<T>>, DrawableBase.Shape<T extends Drawable<T>>
-
-
Constructor Summary
Constructors Constructor Description Text(int x, int y, java.lang.String text)
Create a new Text element.Text(int x, int y, java.lang.String text, java.awt.Color color)
Create a new Text element.Text(int x, int y, java.lang.String text, java.lang.String color)
Create a new Text element with a hue name or hex code
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Point
center(java.awt.Graphics2D g)
Get the object's centerpointAnchor
getAnchor()
Get the current anchor of the element.java.awt.FontMetrics
getFontMetrics()
If you need more information about the text, such as ascent, descent, leading, etc.int
getFontSize()
Get the current font size of the text.int
getHeight()
Note that the computed height of the text only gets updated when the text is drawn.java.lang.String
getText()
Gets the current text of the element.Text
getThis()
int
getWidth()
Note that the computed width of the text only gets updated when the text is drawn.void
internalSetAnchor(Anchor anchor)
Text
setFontSize(double size)
Set the current font size of the text.Text
setText(java.lang.String text)
Sets the text of the element.-
Methods inherited from class paintingcanvas.drawable.DrawableBase
Modifier and Type Method Description java.awt.Color
getColor()
Get the current color of an element as aColor
int
getLayer()
Gets the current layer of the object.java.awt.Point
getPos()
Get the position of the elementdouble
getRotation()
Get an elements rotationT
hide()
Hide the Object.double
internalGetRotation()
void
internalSetColor(java.awt.Color color)
void
internalSetLayer(int layer)
void
internalSetPos(int x, int y)
void
internalSetRotation(double rotation)
void
render(java.awt.Graphics2D g)
Actually render the object itselfT
show()
Show the Object
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface paintingcanvas.drawable.Anchorable
Modifier and Type Method Description Anchor
getAnchor()
Get the current anchor of the element.void
internalSetAnchor(Anchor anchor)
default T
setAnchor(Anchor anchor)
Set the anchor of the element.
-
Methods inherited from interface paintingcanvas.animation.Animatable
Modifier and Type Method Description default AnimationBuilder
colorTo(int hex, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.default AnimationBuilder
colorTo(int r, int g, int b, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.default AnimationBuilder
colorTo(int r, int g, int b, int a, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.default AnimationBuilder
colorTo(java.awt.Color color, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.default AnimationBuilder
colorTo(java.lang.String name, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.default AnimationBuilder
colorTo(Hue hue, double duration)
Change the color ofthis
to the specifiedcolor
overduration
seconds.Drawable<?>
drawable()
Get theDrawable
element from thisAnimatable
.default AnimationBuilder
fadeIn(double duration)
Fadethis
in overduration
seconds.default AnimationBuilder
fadeOut(double duration)
Fadethis
out overduration
seconds.default AnimationBuilder
moveBy(int x, int y, double duration)
Movethis
by the specifiedx
andy
overduration
seconds.default AnimationBuilder
moveHorizontalBy(int x, double duration)
Movethis
by the specifiedx
horizontally overduration
seconds.default AnimationBuilder
moveTo(int x, int y, double duration)
Movethis
to the specifiedx
andy
overduration
secondsdefault AnimationBuilder
moveVerticalBy(int y, double duration)
Movethis
by the specifiedy
vertically overduration
seconds.default AnimationBuilder
rotateBy(int angle, double duration)
Rotatethis
byangle
degrees overduration
seconds.default AnimationBuilder
rotateTo(int angle, double duration)
Rotatethis
to the specifiedangle
degrees overduration
seconds.
-
Methods inherited from interface paintingcanvas.drawable.Colorable
Modifier and Type Method Description java.awt.Color
getColor()
Get the current color of an element as aColor
void
internalSetColor(java.awt.Color color)
default T
setColor(int hex)
Set the color ofthis
to the specifiedcolor
.default T
setColor(int r, int g, int b)
Set the color ofthis
to the specifiedcolor
.default T
setColor(int r, int g, int b, int a)
default T
setColor(java.awt.Color color)
Set the color of the object with aColor
object.default T
setColor(java.lang.String name)
Set the color of the object with a hue name or hex code.default T
setColor(Hue hue)
Set the color of the object with aHue
object.
-
Methods inherited from interface paintingcanvas.drawable.Drawable
Modifier and Type Method Description default AnimationBuilder
animate()
Start animating this object.default T
bringToFront()
Brings the object in front of all other objects.java.awt.Point
center(java.awt.Graphics2D g)
Get the object's centerpointdefault Drawable<?>
drawable()
Get theDrawable
element from thisAnimatable
.default void
erase()
Erase this object from the canvas.int
getLayer()
Gets the current layer of the object.T
getThis()
T
hide()
Hide the Object.void
internalSetLayer(int layer)
void
render(java.awt.Graphics2D g)
Actually render the object itselfdefault T
sendToBack()
Puts the object behind all other objects.default T
setLayer(int layer)
Puts the object on a specific layer.T
show()
Show the Object
-
Methods inherited from interface paintingcanvas.drawable.Positionable
Modifier and Type Method Description java.awt.Point
getPos()
Get the position of the elementdouble
getRotation()
Get an elements rotationdefault int
getX()
Get the X-position of the elementdefault int
getY()
Get the Y-position of the element.double
internalGetRotation()
void
internalSetPos(int x, int y)
void
internalSetRotation(double rotation)
default T
move(int x, int y)
Moves this drawable by the specified x and y.default T
moveHorizontal(int x)
Moves this drawable by the specified x and y.default T
moveVertical(int y)
Moves this drawable by the specified x and y.default T
rotate(double rotation)
Rotate this element byrotation
degrees.default T
setPos(int x, int y)
Set the position of the element.default T
setRotation(double rotation)
Set an elements rotation torotation
degrees.default T
setX(int x)
Set the X-position of the objectdefault T
setY(int y)
Set the Y-position of the element
-
-
-
-
Constructor Detail
-
Text
public Text(int x, int y, java.lang.String text)
Create a new Text element. The default font size is 30, and the default font is comic sans :)
It probably won't work on replit however. Comic sans is not installed on the replit servers by default.
Text text = new Text(100, 100, "Hello World")
- Parameters:
x
- The X-position of the texty
- The Y-position of the texttext
- The text
-
Text
public Text(int x, int y, java.lang.String text, java.awt.Color color)
Create a new Text element. The default font size is 30, and the default font is comic sans :)
It probably won't work on replit however. Comic sans is not installed on the replit servers by default.
Text text = new Text(100, 100, "Hello World", new Color(255, 0, 0))
- Parameters:
x
- The X-position of the texty
- The Y-position of the texttext
- The textcolor
- the color of the text
-
Text
public Text(int x, int y, java.lang.String text, java.lang.String color)
Create a new Text element with a hue name or hex code
- Parameters:
x
- The X-position of the texty
- The Y-position of the texttext
- The textcolor
- The name of the color of the text (case-insensitive)- See Also:
The default font size is 30, and the default font is comic sans :) It probably won't work on replit however. Comic sans is not installed on the replit servers by default.
-
-
Method Detail
-
center
public java.awt.Point center(java.awt.Graphics2D g)
Description copied from interface:Drawable
Get the object's centerpointimport java.awt.Point; Point p = drawable.getStartpoint(); int x = p.x; int y = p.y;
-
getWidth
public int getWidth()
Note that the computed width of the text only gets updated when the text is drawn. (i.e. it does not get updated immediately)
- Returns:
- The width of the text in pixels.
-
getHeight
public int getHeight()
Note that the computed height of the text only gets updated when the text is drawn. (i.e. it does not get updated immediately)
- Returns:
- The height of the text in pixels.
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics()
If you need more information about the text, such as ascent, descent, leading, etc. the information can be retrieved from theFontMetrics
object.Again, note that the metrics are only updated when the text is drawn. (i.e. it does not get updated immediately)
- Returns:
- The FontMetrics object containing information about the text
-
getFontSize
public int getFontSize()
Get the current font size of the text.Text text = new Text(100, 100, "Hello World"); text.setFontSize(40); // Set font size to 40 points System.out.println(text.getFontSize()); // Prints 40
- Returns:
- The font size in points
- See Also:
setFontSize(double)
-
setFontSize
public Text setFontSize(double size)
Set the current font size of the text.Text text = new Text(100, 100, "Hello World"); text.setFontSize(40); // Set font size to 40 points System.out.println(text.getFontSize()); // Prints 40
- Parameters:
size
- the new font size of the text- Returns:
- The original object to allow method chaining
- See Also:
getFontSize()
-
getText
public java.lang.String getText()
Gets the current text of the element.Text text = new Text(100, 100, "Hello World"); System.out.println(text.getText()); // => Hello World
- Returns:
- The text as a
String
- See Also:
setText(String)
-
setText
public Text setText(java.lang.String text)
Sets the text of the element.Text text = new Text(100, 100, "Hello World"); text.setText("Go Go Mango");
- Parameters:
text
- The new text for the element as aString
- Returns:
- The original object to allow method chaining
-
getAnchor
public Anchor getAnchor()
Description copied from interface:Anchorable
Get the current anchor of the element.- Specified by:
getAnchor
in interfaceAnchorable<Text>
- Returns:
- the
Anchor
of the element; how its positioned relative to its center
-
internalSetAnchor
public void internalSetAnchor(Anchor anchor)
- Specified by:
internalSetAnchor
in interfaceAnchorable<Text>
-
-