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

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

回答:

那不使用任何GUI组件?

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

最好的方法是使用BufferedImage。AFAIK,这不会抛出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中的字符串长度(以像素为单位) 的全部内容, 来源链接: utcz.com/qa/417339.html

回到顶部