0

表示するテキストの量がわかりませんJTextAreas。サイズは固定されています。フォント全体に合わせてサイズを変更し、JTextAreaテキストが途切れないようにします。

これはどのように達成できますか?

4

1 に答える 1

1

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

于 2012-06-15T19:22:24.677 に答える