当前位置: 首页 > 面试题库 >

Java:获取FontMetrics实例的更友好方法

隗高旻
2023-03-14
问题内容

有没有一种更友好的方法来获取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("Courier New", Font.PLAIN, 14);
FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font);


 类似资料:
  • 问题内容: 每次我尝试使用ffmpeg获取有关我的视频文件的信息时,都会吐出很多无用的信息,混杂着很多好东西。 我正在使用。 有没有可能以友好的方式实现这一目标?我的意思是JSON会很棒(甚至丑陋的XML也可以)。 至此,我使我的应用程序使用正则表达式解析数据,但是在某些特定的视频文件上却出现了很多讨厌的角落。我已修复所有遇到的问题,但可能还会更多。 我想要类似的东西: 问题答案: 有点晚了,但也

  • 本文向大家介绍Java方法签名的获取实例代码,包括了Java方法签名的获取实例代码的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是Java方法签名的获取,下面是具体实现实例。 实例代码: 总结 以上就是本文关于Java方法签名的获取实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

  • 好的,我有一个座位系统,它生成一个30x30的网格,对于每个网格,数据库中都有一行,但是当我在我的页面上生成这个网格时,我当前每个元素发出5个SQL请求(有900个元素),我们都知道这不是最优的。 为了呈现它,我执行一个while循环,并执行一些检查,然后回显出以下代码: 下面是一个座椅模型如何工作的例子 每个请求中有5个这样的函数,这对许多人来说是一种方式。所以我需要一些好的方法来最小化这个系统

  • 这是我第一次有机会使用Java 8中的“新”java.time包。 我需要得到总的运行时间,比如:< br> 我知道有2: - ,月和日的 ,分钟,秒,毫秒和纳秒的持续时间 有没有一种方法可以将这两者结合起来,或者比“做数学”更简单的方法? 这是到目前为止我能做的最好的事情:(用新的改进版本更新) 感谢您的宝贵时间=)

  • 所以我一直试图弄清楚类和实例在python中是如何工作的,并且一直在制作一个基于文本的游戏来尝试和第一手了解它。 我知道重复你的话通常意味着你做错了什么,但我就是不知道该怎么做。我的代码如下所示: desc是对房间的描述,command是用来访问房间的单词,secret是关于房间的额外信息,x和y是放置在xy轴上的房间 我一直在努力解决这个问题,因为我需要它来检查命令,看看它需要移动多少x和y空间

  • 代码起作用了。至少在我试过的文件中。但这似乎是一种糟糕的方式,但我还没有找到更好的解决方案,所以如果你有一个,请分享:)