查找/设置Java字符串的高度.awt细绳



对于我正在开发的塔防游戏,我希望在精灵中加入塔防的文本。然而,这个精灵中的文本需要根据它所受到的伤害而改变。我有点迂腐,需要精确的X和Y来绘制字符串,以便它在图像中居中。

我如何找到字符串的高度,以便我可以相应地调整绘制字符串的Y元素?

    g.setColor(new Color(Integer.parseInt(tObj[0].toString())));
    g.drawString(String.format("Wave: %d", getWave()), 5, 460);

设一个二维矩形,其左上角位于point.x,point.y,宽度为width,高度为height。当我需要在矩形的中心画一个字符串时,我使用了这个

    String text = "Centered Text";
    FontMetrics fontMetrics = graphics.getFontMetrics();
    Rectangle2D rect = fontMetrics.getStringBounds(text, graphics);
    int x = point.x + (width - (int) rect.getWidth()) / 2;
    int y = point.y + (height - (int) rect.getHeight()) / 2 + fontMetrics.getAscent();
    graphics.drawString(text, x, y);

最新更新