6.2. Drawing Text

To render text, use one of Graphics2D's drawText() methods. There are four versions of this method. For now, let's look at the two simplest versions:

public abstract void drawString(String str, int x, int y)

public abstract void drawString(String s, float x, float y)

This method draws the given string, using the current font, at the location specified by x and y. If the current font doesn't have glyphs for some of the characters in the string, the string may not be rendered properly.

The location specified by x and y is the location of the end of the string's baseline. The baseline is that line you had to write on in penmanship class in the first grade. A baseline is shown in Figure 6.3.

Figure 6.3. Baseline of a string

For languages that read from right to left, the point specified by x and y is still the left end of the baseline. Figure 6.4 shows some Arabic characters as rendered by drawString().

Figure 6.4. Baseline of a right-to-left string

Several different baselines may exist for a single glyph. The baseline shown in Figure 6.3 and Figure 6.4 is called the Roman baseline. The 2D API also includes the concepts of a center baseline and a hanging baseline. These are shown in Figure 6.5. The initial release of Java 2 (JDK 1.2) does not support the ...

Get Java 2D Graphics now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.