我有JFrame
其中JTextArea
在里面。Java获取字体大小
Font font = new Font("monospaced", Font.PLAIN, 14);
textarea.setFont(font);
由于字体是等宽字体,因此所有字符的宽度和高度都相同。
我想知道这个宽度和高度以像素为单位。
为此,我可以使用font.getStringBounds
但我没有Graphics
上下文传递给它。 frame.getGraphics()
返回null
。
如何查找角色的大小?可以在没有Graphics
实例的情况下完成吗?无论如何,我不想要它的一个实例。我只想知道我的角色有多大。
你的问题的首选大小是不明确的,可以为用户提供的代码无效部分的详细信息。 – 2017-10-05 10:31:38
字体“大小”将基于渲染目标的上下文。通常你想看看'Graphics#getFontMetrics'或者其他一些相关的方法。如果您没有可用的'Graphics'上下文,则可以创建'BufferedImage'并使用它。那么问题就变成了一个问题,为什么你需要这些信息呢? – MadProgrammer
@MadProgrammer谢谢,我会研究'BufferedImage'。仅供参考,我使用'JFrame' /'JTextarea'来渲染基于文本的游戏,因此我将使用此信息来缩放文本并以字符为单位获取窗口的尺寸。 – Lolums