表示するテキストの量がわかりません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()テキストをレンダリングする領域だけでなく、境界線やスクロールバーなどを含むコンポーネントの幅が返されるため、最初にレンダリングされた領域の「実際の」幅を計算する必要があることに注意してください。