Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将文本与图形2D对齐而无需上诉?_Java_Graphics_Text_Drawing - Fatal编程技术网

Java 如何将文本与图形2D对齐而无需上诉?

Java 如何将文本与图形2D对齐而无需上诉?,java,graphics,text,drawing,Java,Graphics,Text,Drawing,函数drawString(…)没有类似的“锚点”,我可以将x和y放在文本的中心。我知道我可以手动完成,但我不想使用JTextArea或JLabels。是否有可能以一种聪明的方式来做这件事,还是没有办法做到这一点 谢谢。从图形对象获取FontMetrics(),并使用getStringBounds()获取文本的图像大小。从中,您可以确定x和y应该是什么,以便将文本定位到您想要的位置。从图形对象获取FontMetrics(),并使用getStringBounds()获取文本的图像大小。从中,您可以计

函数drawString(…)没有类似的“锚点”,我可以将x和y放在文本的中心。我知道我可以手动完成,但我不想使用JTextArea或JLabels。是否有可能以一种聪明的方式来做这件事,还是没有办法做到这一点


谢谢。

从图形对象获取
FontMetrics()
,并使用
getStringBounds()
获取文本的图像大小。从中,您可以确定x和y应该是什么,以便将文本定位到您想要的位置。

从图形对象获取
FontMetrics()
,并使用
getStringBounds()
获取文本的图像大小。从中,您可以计算出x和y应该是什么,以便将文本定位到您想要的位置。

提供了一些便利。这里有一个。

提供了一些便利。这是一个。

这是一个不太聪明的方法,或者,正如我所说的,“手动”。这是上诉!:)但没关系,我认为这绝对是唯一不那么糟糕的解决方案。无论如何谢谢你@Felipe Micaroni Lalli“这是一种不太聪明的方式,或者,正如我所说,“手动”。“是的,这是一个悲哀的事实,有时程序员实际上需要编程,而不是简单地调用voodoo API。@Andrew+1:)尽管我记得在MSDOS下用C编程GUI时,可以指定给定坐标是居中还是在X/Y方向上左/右对齐。我猜Java曾经让我们变得懒惰:)这是一种不那么聪明的方式,或者,正如我所说的,“手动”。这是上诉!:)但没关系,我认为这绝对是唯一不那么糟糕的解决方案。无论如何谢谢你@Felipe Micaroni Lalli“这是一种不太聪明的方式,或者,正如我所说,“手动”。“是的,这是一个悲哀的事实,有时程序员实际上需要编程,而不是简单地调用voodoo API。@Andrew+1:)尽管我记得在MSDOS下用C编程GUI时,可以指定给定坐标是居中还是在X/Y方向上左/右对齐。我猜Java让我们曾经有点懒惰:)