表示するテキストの量がわかりませんJTextAreas
。サイズは固定されています。フォント全体に合わせてサイズを変更し、JTextArea
テキストが途切れないようにします。
これはどのように達成できますか?
FontMetrics
クラスを使用します。これにより、特定のフォントサイズでテキストのピクセル幅を取得できます。
使用例:
Font font = myTextArea.getFont();
FontMetrics fontMetrics = myTextArea.getFontMetrics(font);
int width = fontMetrics.stringWidth("my awesome string");
ここで、あなたがしなければならないことは、上記のコードをループでラップし、フォントサイズがほぼ等しくwidth
なるまでフォントサイズを増減することです。完了したら、フォントを。で設定するだけです。myTextArea.getWidth()
myTextArea.setFont(font)
また、myTextArea.getWidth()
テキストをレンダリングする領域だけでなく、境界線やスクロールバーなどを含むコンポーネントの幅が返されるため、最初にレンダリングされた領域の「実際の」幅を計算する必要があることに注意してください。