1

java - 如何在没有Java实例的情况下获得文本推进(stringWidth)Graphics

文档示例中,stringWidth()取自FontMetrics,而FontMetrics取自Graphics

是否有可能在没有 的情况下获得相同的Graphics

在下面的注释中说,这Graphics是必需的,因为它持有FontRenderContext. 但我有FontRenderContext,只是没有Graphics

所以,假设我FontRenderContext没有Graphics. 那我怎么得到stringWidth()

4

1 回答 1

5

虽然“FontRenderContext直接构造的 A 很可能不代表任何实际的图形设备,并且可能导致意外或不正确的结果”,但您可以从 的实例中获得有用的指标,如此此处TextLayout所示。

FontRenderContext frc = new FontRenderContext(null, false, false);
TextLayout layout = new TextLayout(text, font, frc);
System.out.println(layout.getBounds());

图片

于 2015-09-28T09:45:51.313 回答