我有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