How do I make drawString() text bold?
Asked Answered
D

3

10

I have a drawString() method in my paintComponent method. Is there a way to make the text drawn by the drawString() bold? Also, is there a way to make the text bigger? I would like to avoid using JLabels, unless it is absolutely necessary.

Dietitian answered 10/2, 2013 at 19:23 Comment(0)
J
21

According to documentation of drawString:

Draws the text given by the specified string, using this graphics context's current font and color. The baseline of the leftmost character is at position (x, y) in this graphics context's coordinate system

Indeed, Graphics class has the setFont(Font font) method available:

g.setFont(new Font("default", Font.BOLD, 16));
Jobye answered 10/2, 2013 at 19:27 Comment(3)
You could use g.getFont().deriveFont(Font.BOLD) if all you wanted to do was change the font style of the current font...Arabian
@Arabian Excellent, this is what I am looking for. You should have written your answer here. Will +1 without hesitation.Babb
In case this is not clear to others, g is the canvas. If, for example, you're overriding public void paintComponent(Graphics canvas), then you'll want canvas.setFont(new Font("default", Font.BOLD, 16));.Anthodium
G
1

You have to set the font before drawing the text.

g.setFont(font);
Glasser answered 10/2, 2013 at 19:27 Comment(0)
B
1

There are methods: setFont(Font) - Method in class java.awt.Component Sets the font of this component. setFont(Font) - Method in class java.awt.Container Sets the font of this container. setFont(Font) - Method in class java.awt.Graphics Sets this graphics context's font to the specified font.

Breadnut answered 10/2, 2013 at 19:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.