0

我使用 fontmetrics 来确定绘制到 jpanel 的字符串的长度和高度,但它给了我不正确的测量值。

我使用的字符串是:“Hello World,这太棒了”

例如:a 用默认字体绘制了一个字符串;根据字体度量,尺寸为:高度:24;宽度:224。

当我测量它时,它实际上长 148 像素,高 10 像素。(基本上是通过反复试验)

FontMetrics fm = g.getFontMetrics(this.f);
int Ilength = fm.stringWidth("Hello World this is fantastic");
int Iheight = fm.getHeight();
System.out.println("height: " + Iheight + "; width: " + Ilength);

我想知道java中是否有一个公式或方法可以提供以像素为单位的字符串的实际高度和宽度。谢谢!

4

1 回答 1

0

我也有这个问题。尝试使用getStringBounds(String,Graphics)您的FontMetrics对象的方法。

public Rectangle2D bounds = fm.getStringBounds("Hello World this is fantastic", g);
int Ilength = (int)bounds.getWidth();
int Iheight = (int)bounds.getHeight();
于 2015-12-24T22:40:18.493 回答