如何在Graphics2D Java中设置文本边界?
在Graphics2D for Java中,有没有简单的方法为一侧的文本设置边界?例如,我有一张显示玩家等级的等级卡,随着等级的增加,我希望队伍向后扩展,而不是向前扩展。如图所示,“排名#24”与下面的一条线完美地对齐。如果这个数字变为3或4位数,我希望文本向后推,这样结尾仍然与下面的行完美对齐 有没有一种简单的方法可以用Graphics2D来实现这一点,或者我应该根据秩数的大小自己计算移位如何在Graphics2D Java中设置文本边界?,java,swing,text,graphics2d,Java,Swing,Text,Graphics2d,在Graphics2D for Java中,有没有简单的方法为一侧的文本设置边界?例如,我有一张显示玩家等级的等级卡,随着等级的增加,我希望队伍向后扩展,而不是向前扩展。如图所示,“排名#24”与下面的一条线完美地对齐。如果这个数字变为3或4位数,我希望文本向后推,这样结尾仍然与下面的行完美对齐 有没有一种简单的方法可以用Graphics2D来实现这一点,或者我应该根据秩数的大小自己计算移位 在paintComponent()方法中使用Graphics对象的FontsMetrics类来获取字符串
在
paintComponent()
方法中使用Graphics
对象的FontsMetrics
类来获取字符串的大小
然后根据宽度和所需终点计算绘制字符串的起点:
FontMetrice fm = graphics.getFontMetrics();
int width = fm.stringWidth("Rank #1235");
在
paintComponent()
方法中,使用Graphics
对象的FontsMetrics
类获取字符串的大小
然后根据宽度和所需终点计算绘制字符串的起点:
FontMetrice fm = graphics.getFontMetrics();
int width = fm.stringWidth("Rank #1235");
有没有一种简单的方法可以用Graphics2D实现这一点据我所知,没有。或者我应该根据排名数字的大小自己计算移位量吗?是的,你应该。如果你不知道如何计算位移,请参考@camickrIs的答案。就我所知,有一种简单的方法可以用图形来计算位移2d。或者我应该根据排名数字的大小自己计算移位量吗?是的,你应该。如果您不知道如何计算班次,请参考@camickr的答案(非常感谢!)非常感谢!:)