Java - 没有图形的 FontMetrics

标签 java awt font-size fontmetrics

如何在不使用 Graphics 的情况下获取 FontMetrics ?我想在构造函数中获取 FontMetrics,现在我这样做:

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();

最佳答案

不,您不一定需要获取/使用图形对象:

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

如果您现在调用 c.getGraphics(),它将返回 null。另一方面, Canvas 解决方案也适用于 headless mode .

关于Java - 没有图形的 FontMetrics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843601/

相关文章:

java - 使用 MyBatis 将集合持久化到对象中

java - JFrame 和 MouseListener 无法正确执行单击的问题

java - 在spring boot中从属性文件注入(inject)值数组

java - 使用 StringBuffer 、 StringBuilder 、 String.intern() 优化 String 对 java 堆的使用

java - 在主类之外使用 Java 的 2d 图形

java - 当选择另一个 Jbutton 时恢复 Jbutton 中的颜色变化

java - 使用java的网格程序

android - 忽略 ICS 的字体大小设置

java - 如何将 swing jButton 上的文本字体大小设置为适合 jButton 的最大大小

css - 将字体大小应用于 div 和 * 标记的选择器优先级