相对于窗口大小居中绘制的字符串?

时间:2009-03-20 17:13:26

标签: java string center

我正在尝试将用“”系统“绘制的字符串居中,使用Java中的Font.BOLD,90”字体。我试过(宽度/ 2 - (font.size / 2 * num_of_chars))但是没有用。

g2d.setFont(new Font("system", Font.BOLD, 90));
g2d.drawString("Pause", (int) ((800/2) - ((Font.getSize()/2) * 5)),270);

1 个答案:

答案 0 :(得分:4)

使用getFontMetrics()getStringBounds(String, Graphics)获取当前字体的字符串边界。

所以它看起来像这样:

g2d.setFont(new Font("system", Font.BOLD, 90));
String msg = "Pause";
Rectangle2D bounds = g2d.getFontMetrics().getStringBounds(msg, g2d);
g2d.drawString(msg, (int) ((getWidth() + bounds.getWidth()) / 2), 270);