Tamanho de String desenhada em um Graphics2D

4 respostas
jcvijr

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.

4 Respostas

_Renatu

Dá uma pesquisada na classe FontMetrics…

davidbuzatto

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!

jcvijr

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:

davidbuzatto

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

Falow!

Criado 24 de abril de 2007
Ultima resposta 24 de abr. de 2007
Respostas 4
Participantes 3