2010-11-24 15 views
6

¿Alguien me puede decir cómo bajar el texto directamente en Java 2d?Alinear texto con Java Graphics 2d

Aquí está el código, dibuja una columna de texto que se alinea naturalmente a la izquierda.

Font yFont = new Font("Arial", Font.BOLD, 13); 

interval = 0; 

g2d.setFont(yFont); 
for (String l : binLabels) { 
    g2d.drawString(l, 0, (135 + interval)); 
    interval = interval + 15; 
} 

Driving me crazy. Gracias ustedes

slothishtype

Respuesta

13

En el método de paintComponent() puede utilizar las FontMetrics para obtener el ancho de la cadena que desea pintar:

FontMetrics fm = getFontMetrics(getFont()); 
int width = fm.stringWidth("your string here"); 

A continuación, se calcula la desviación, donde para comenzar a pintar en función del ancho del componente.

La pregunta es por qué estás tratando de hacer esto. Solo puede usar un JLabel y establecer su alineación a la derecha.

+0

Genial, y gracias ... déjame revisar jLabel ... – slotishtype

+0

¿Tengo que usar un administrador de diseño para colocar el JLabel entonces? – slotishtype

+0

Sí, siempre debe usar un administrador de diseño para crear una GUI. – camickr