JFrame
にはJTextArea
が入っています。Javaフォントのサイズを取得
Font font = new Font("monospaced", Font.PLAIN, 14);
textarea.setFont(font);
フォントがモノスペースであるため、すべての文字は同じ幅と高さです。
この幅と高さがピクセル単位でわかります。
この場合、私はfont.getStringBounds
を使うことができましたが、それに渡す文脈はGraphics
です。 frame.getGraphics()
はnull
を返します。
文字のサイズはどのようにして確認できますか? Graphics
インスタンスなしで実行できますか?私はとにかくそのインスタンスを望んでいません。私は自分のキャラクターの大きさを知りたいだけです。
ご質問の推奨サイズに影響を与えますサイズに
これを好んだことは、明らかではないが、あなたは、コードのヌル一部でより多くの情報を提供することができます。 –
"size"というフォントは、レンダリング先のコンテキストに基づいています。一般的に 'Graphics#getFontMetrics'やそのような関連するメソッドを見たいと思っています。使用可能な 'Graphics'コンテキストがない場合は、' BufferedImage'を作成し、それを使用することができます。それでは、なぜこの情報が欲しいのですか? – MadProgrammer
@MadProgrammerありがとう - 私は 'BufferedImage'を調べます。参考までに、私は 'JFrame' /' JTextarea'を使ってテキストベースのゲームをレンダリングしていますので、この情報を使ってテキストを拡大し、ウィンドウのサイズを文字単位で取得します。 – Lolums