java - Java 中的字符串长度(以像素为单位)

标签 java string fonts awt fontmetrics

给定一个不使用任何 GUI 组件的特定 java.awt.Font 对象,是否有一种方法可以计算字符串的长度(以像素为单位)?

最佳答案

that does not use any GUI components?

这取决于你在这里的意思。我假设您的意思是您想在不收到 HeadlessException 的情况下执行此操作。

最好的方法是使用 BufferedImage。据我所知,这不会抛出 HeadlessException:

Font font = ... ;
BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
FontMetrics fm = img.getGraphics().getFontMetrics(font);
int width = fm.stringWidth("Your string");

除了使用这样的东西,我认为你不能。您需要图形上下文才能创建 FontMetrics 并为您提供字体大小信息。

关于java - Java 中的字符串长度(以像素为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345712/

相关文章:

reactjs - jsPDF - 导入 React.js/ES6 风格的字体

java - 如何在简单的java项目中设置ELK

c++ - 在字符数组中使用 static_cast 来使用字符串函数

string - lua 拆分成词

php - 试图从 php 获取数组并将其存储在 java、android 中

html - 无法访问字体 awsome 的最大 CDN 链接

java - IntelliJ "Debug info unavailable"- 如何修复?

java - 如何终止子线程的父线程?

java - 如何在 Java 中明智地编写扩展欧几里得算法代码?

javascript - 根据输入值设置字体颜色