java awt font-size fontmetrics

Java-FontMetrics sin gráficos



awt font-size (2)

Hmm ... Es bastante lógico que necesites gráficos para obtener FontMetrics. La altura de la fuente, el ancho, etc. pueden diferir en varias pantallas.

Si tiene algún componente, puede usarlo para obtener FontMetrics:

component.getFontMetrics(font);

¿Cómo obtener FontMetrics sin usar gráficos? Quiero obtener FontMetrics en el constructor, ahora hago esto:

BufferedImage bi = new BufferedImage(5, 5, BufferedImage.TYPE_INT_RGB); FontMetrics fm = bi.getGraphics().getFontMetrics(font); int width = fm.stringWidth(pattern); int height = fm.getHeight();


No, no necesariamente necesitas obtener / usar el objeto de gráficos:

Font font = new Font("Helvetica",Font.PLAIN,12); Canvas c = new Canvas(); FontMetrics fm = c.getFontMetrics(font);

Si ahora llama a c.getGraphics() devolverá nulo. Este (lienzo) también funcionará en modo sin cabeza .