Java - Draw text in the center of an image

GhzNcl picture GhzNcl · Sep 6, 2011 · Viewed 11.3k times · Source

I need to write text in the center of an image. The text to write is not always the same.

The code I'm using is here:

// Here I first draw the image
g.drawImage(img, 22, 15, 280, 225, null);
// I get the text 
String text = photoText.getText();
// Set the text color to black
g.setColor(Color.black);
// I draw the string 
g.drawString(text, 79.5F, 220.0F);

The problem is that the text isn't at the center of the image, what can I do?

I only need to draw the text at the horizontal center.

Answer

trashgod picture trashgod · Sep 6, 2011

Using a JLabel is less work, but FontMetrics, shown here, will let you manage the geometry directly.