【发布时间】:2015-02-26 15:53:33
【问题描述】:
我目前正在为我的 Java 游戏开发菜单系统,我想知道如何将 Graphics.drawString() 中的文本居中,这样如果我想绘制一个中心点的文本位于X: 50 和Y: 50,文本为30 像素宽和10 像素高,文本将从X: 35 和Y: 45 开始。
我可以在绘制之前确定文本的宽度吗?
那么数学就很简单了。
编辑:我也想知道是否可以获得文本的高度,以便我也可以垂直居中。
感谢任何帮助!
【问题讨论】:
-
看起来像这样的副本:stackoverflow.com/questions/258486/…
-
这是 Swing 让您为之努力的东西。试试这个答案:stackoverflow.com/questions/23729944/… 如果您刚刚开始编写游戏,JavaFX 是 Java 平台中包含的最现代的图形工具包,可能是比 Swing 更好的选择。
-
@mwarren 这部分是重复的,但是有一件事。我想知道如何获得文字的高度,因为
FontMetrics.getHeight() / 2没有给我文字“真实”高度的一半...@richj 我已经做了很多,所以我认为我赢了不要切换到 JavaFX。那将是另一场比赛。 -
fontMetrics.getAscent() 对于您的目的可能会更好一些。它不包括“领先”。
标签: java text draw centering graphics2d