Tamanho de String desenhada em um Graphics2D

Olá,

Gostaria de saber se tem algum jeito de saber o tamanho de uma string em pixels, que será desenhada em um Graphics2D.

Pergunto isso pois estou desenhando um objeto e gostaria de mostrar as dimensões dele, centralizando a string de acordo com a largura do objeto, por exemplo.

Talvez criar um Image dessa string, sei lá…

Agradeço se puderem ajudar.

Dá uma pesquisada na classe FontMetrics…

FontMetrics fm = seuGraphics.getFontMetrics(); int largura = fm.stringWidth( "Sua String" );

O FontMetrics calcula o tamanho baseando-se na fonte que está setada.
Dá uma olhada na documentação.

Falow!

Boa, é só criar um FontMetrics com a fonte que você vai utilizar, e depois usar o método stringWidth(String s):


FontMetrics fm = new FontMetrics(new Font("Arial",Font.PLAIN,12));
String s = "150";
int sizeString = fm.stringWidth(s);

Para um objeto com tamanho L, basta fazer:


int y = 0;
int x = L/2 - sizeString/2;

g2.drawString(str,x,y);

Valeu :slight_smile:

Vc num precisa criar um font metrics, vc pode usar, como falei, o usado pelo graphics

Falow!