有没有一种更友好的方法来获取FontMetrics的实例,而不是
FontMetrics fm = Graphics.getFontMetrics(Font);
由于以下示例,我讨厌这种方式:
如果要在游戏中创建菜单,并且希望所有菜单项都位于屏幕中央,则需要字体度量。但是,大多数菜单项都是可单击的。因此,我创建了一个
Rectangles
数组,所有矩形都适合项周围,因此当按下鼠标时,我可以简单地使用for (int i = 0; i < rects.length; i++)
if (rects[i].contains(mouseX, mouseY)) { ... }
但是要创建矩形,我还需要FontMetrics作为它们的坐标。因此,这意味着我必须在菜单的绘制方法中构造所有矩形。
所以我想要一种获取FontMetrics的方法,以便可以在构造函数调用的方法中构造Rectangles。
最佳答案
对我来说,最简单的方法是:
Font font = new Font("Helvetica",Font.PLAIN,12);
Canvas c = new Canvas();
FontMetrics fm = c.getFontMetrics(font);
好处:
现在您可以轻松获取高度和宽度...