- ベストアンサー
JTextAreaのサイズを文字に合わせて変更
レイアウトマネージャを無効にした状態で、 JPanel上にJTextAreaを張り付けた際に、 setSize()を使ってピクセル単位でサイズを指定しないとうまく表示できないと思います。 入力された文字列に合わせてJTextAreaのサイズを変えたい場合は、 どういう風に設定すればよいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
JScrollPaneに入れ子してスクロールで全文を表示させる等では要件を満たせないのでしょうか。 ひとまず、入力された文字列の内容に沿ったサイズにリサイズするには以下の様な方法があります。 1.該当JTextAreaが編集に応じて発送するイベントを掴む 2.JTextArea#getFontMetrics(Font f)で該当テキストエリアのフォントの描画情報を取得する 3.描画情報と入力内容から必要な縦幅、横幅を算出する 4.setSize()でリサイズする
お礼
教えていただいた 1~4の手順で取り組んでみます。 回答ありがとうございました。