【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

レイアウトマネージャを無効にした状態で、
JPanel上にJTextAreaを張り付けた際に、
setSize()を使ってピクセル単位でサイズを指定しないとうまく表示できないと思います。
入力された文字列に合わせてJTextAreaのサイズを変えたい場合は、
どういう風に設定すればよいのでしょうか?

A 回答 (1件)

JScrollPaneに入れ子してスクロールで全文を表示させる等では要件を満たせないのでしょうか。


ひとまず、入力された文字列の内容に沿ったサイズにリサイズするには以下の様な方法があります。

1.該当JTextAreaが編集に応じて発送するイベントを掴む
2.JTextArea#getFontMetrics(Font f)で該当テキストエリアのフォントの描画情報を取得する
3.描画情報と入力内容から必要な縦幅、横幅を算出する
4.setSize()でリサイズする
    • good
    • 0
この回答へのお礼

教えていただいた
1~4の手順で取り組んでみます。
回答ありがとうございました。

お礼日時:2011/04/19 19:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!