如何在Java中居中使用drawString?

时间:2015-09-30 06:45:02

标签: java string graphics

如何在Java中将drawString的文本居中?我希望它可以动态地沿着屏幕居中,无论我是否改变盒子的高度和宽度。我发现this code但我不知道如何使用它。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:2)

水平...

String text = "...";
Graphics2D g2d = (Graphics2D)g.create();
FontMetrics fm = g2d.getFontMetrics();
int x = (getWidth() - fm.stringWidth(text)) / 2;

垂直...

String text = "...";
Graphics2D g2d = (Graphics2D)g.create();
FontMetrics fm = g2d.getFontMetrics();
int y = ((getHeight() - fm.getHeight()) / 2) + fm.getAscent();

还演示了here

另请查看2D GraphicsWorking with Text APIs