¿Qué API devuelve el ancho de fuente correcto en Java?

¿Qué API de fuentes de Java devuelve el ancho correcto? Usamos actualmente

font.getStringBounds( "the string", frc ).getWidth();

Esto devuelve los valores correctos en las imágenes y la pantalla. Pero está mal imprimir con Java SE 6. Con Java 7 todo está correcto. La diferencia es muy pequeña. Pero perdimos una "i" al final de una línea. Recibimos al imprimir exactamente los mismos valores. Pero el texto necesita más espacio en la impresión de gráficos.

Utilizamos anti alias y métricas fraccionales.

Sé que hay diferentes API. Pero, ¿cuál es la API recomendada?

Respuesta 1

¿Tiene un objeto de gráficos para la impresora? ¿Qué sucede en ese caso si prueba este código? Es lo que estoy usando para medir el ancho:

/*
Graphics2D g
Font currentFont
String stringToMeasure
*/
FontMetrics currentFontMetrics = g.getFontMetrics(currentFont);
Rectangle2D stringBounds = currentFontMetrics.getStringBounds(stringToMeasure, g);
double width = stringBounds.getWidth();
Respuesta: 2

TextLayoutEs probablemente el enfoque más versátil. Algunos ejemplos relacionados se pueden encontrar entre las preguntas y respuestas aquí:

Gráficos Java2D anti-alias.

¿Cómo calcular el número de filas (y columnas en cada fila) que toma un texto en un JTextArea?

Método ideal para truncar una cadena con puntos suspensivos.

Respuesta: 3

Esto no es un HW o una tarea. Esto es algo que estoy practicando yo mismo. Dada una cola, escribir un método inverso invierte elementos de una cola. MyQueue permanece sin cambios. Firma: cola pública <T & ...

Estoy siguiendo Spring in Action (parte 2) e intento crear la aplicación Spittr como muestra el libro. (con Spring Tool Suite 7.3.7. y Maven.) El problema es que obtengo lo siguiente ...

Esperar y notificar parecen mensajes que se pasan entre subprocesos; si esto es cierto, debe haber colas para almacenar estos mensajes en el búfer. Si es así, debe haber operaciones atómicas para agregar mensajes a ...

¿Es posible ordenar 2d-array por última fila con Arrays.sort (,) en Java. El siguiente fragmento funciona muy bien para ordenar por última columna, pero no parece tener una forma de ajustarse para ordenar por ...