• ベストアンサー

JTextAreaのサイズを文字に合わせて変更

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

JScrollPaneに入れ子してスクロールで全文を表示させる等では要件を満たせないのでしょうか。 ひとまず、入力された文字列の内容に沿ったサイズにリサイズするには以下の様な方法があります。 1.該当JTextAreaが編集に応じて発送するイベントを掴む 2.JTextArea#getFontMetrics(Font f)で該当テキストエリアのフォントの描画情報を取得する 3.描画情報と入力内容から必要な縦幅、横幅を算出する 4.setSize()でリサイズする

armadillo26
質問者

お礼

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

関連するQ&A