我想在图形中写一个整数,并希望它始终位于中心位置。
有什么办法吗?
目前我正在写这个不好的:
Font font = new Font("Arial", Font.BOLD, 20);
g.setFont(font);
g.setColor(this.color);
g.fillOval(b.x, b.y, b.width, b.height);
g.setColor(Color.black);
g.drawString("1", b.x + b.width/2 , b.y+ b.height/2);
其中 b 是一个矩形。
最佳答案
您可以使用 FontMetrics 类来确定要显示的字符串的确切大小,然后从中心点减去其 X 和 Y 尺寸的一半,然后将其绘制在那里,如下所示:
FontMetrics fm = g.getFontMetrics();
Rectangle2D rect = fm.getStringBounds("1", g);
g.drawString("1", (int) (b.x + b.width/2 - rect.getWidth()/2),
(int) (b.y + b.height/2 + rect.getHeight()/2));
关于java - 图形+java中定位字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5378052/