gpt4 book ai didi

java - 在 Graphics2D 元素上将文本居中时遇到问题

转载 作者:行者123 更新时间:2023-12-01 09:55:23 25 4
gpt4 key购买 nike

您好,我正在构建 2048 游戏的复制品,该游戏可以运行,但我无法将我的数字保持在图 block 中间。基本上,对于 32 以下的数字,一切都是有序的,但数字越大,它们向左下角移动的就越多。

首先是我使用的输入,而不是类。而 g 是 Graphics2D 元素,代表图 block 。

int getX= WIDTH/2- Text.textWidth(""+value, font, g)/2;
int getY= HEIGHT/2+ Text.textHeight(""+value, font, g)/2;
g.drawString(""+value, getX, getY);

public class Text {
private Text(){
}

public static int textHeight(String out, Font font, Graphics2D g){
g.setFont(font);
Rectangle2D bounds=g.getFontMetrics().getStringBounds(out, g);
return (int)bounds.getWidth();
}
public static int textWidth(String out,Font font, Graphics2D g){
g.setFont(font);
if(out.length()==0)
return 0;
TextLayout tl=new TextLayout(out,font,g.getFontRenderContext());
return (int)tl.getBounds().getHeight();
}

}

最佳答案

textHeight() 方法返回字符串边界的宽度,textWidth() 方法返回字符串边界的高度。这不是走错路了吗?

关于java - 在 Graphics2D 元素上将文本居中时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com