试图从中心画两个数字和相等的距离

时间:2012-08-31 12:12:27

标签: java java-2d drawing2d

我希望它看起来是对称的,但我无法理解为什么这不起作用。

Font scoreFont = new Font("Impact", Font.PLAIN, 72);
    g.setFont(scoreFont);
    FontMetrics scoreFontMetrics = g.getFontMetrics();
    g.drawString("" + playerOneScore, SCREEN_WIDTH / 2
            - 30 - scoreFontMetrics.charWidth(playerOneScore),
            SCREEN_HEIGHT / 2);
    g.drawString("" + playerTwoScore,
            SCREEN_WIDTH / 2 + 30,
            SCREEN_HEIGHT / 2);

}

提前致谢。

1 个答案:

答案 0 :(得分:0)

charWidth中的FontMetrics获得char作为参数。如果playerOneScoreint,那么它实际上会转换为char值,然后应用于该方法。您最好使用stringWidth(playerOneScore + "");