1

すべてのコンポーネントの幅は同じです。JPanel(ボックスレイアウト; PAGE_AXIS)があります。次の仕様のBox.fillerを追加しました。

最小サイズ(高さ)-1

推奨サイズ(高さ)JPanelの高さ

最大サイズ(高さ)JPanelの高さ

境界線の太さが7ピクセルのJTextAreaを追加しました(下のみ)。

テキストを入力すると、JTextAreaが展開されますが、十分ではなく、数行後にテキストが範囲外になります(もう表示されません)。

(FontMetricsを使用して)テキストの行数を判別でき、それに応じてsetSizeを強制できますが、実際には何も変わりません。JTextArea.getHeight()を印刷すると、私の条件でサイズが変更されたことがわかりますが、視覚的には変更されていないかのように表示されます。そして、私は検証と塗り直しを忘れていません。

JTextAreaを特定のサイズに強制的にサイズ変更するにはどうすればよいですか?

4

2 に答える 2

1

あるいは、JTextAreaに単語をラップさせることもできますか?:

JTextArea.setWrapStyleWord(true);

setRows(int rows)また、andthenandを使用してrevalidate()行数を設定してみることもできます。repaint()

于 2012-08-27T13:05:53.197 に答える
0

JTextArea を JScrollPane に配置して、JTextArea が画面上で必要とするスペースを変更せずに、追加の行を表示し続けることができます。

詳細については、スクロール ペインの使用方法に関する Oracle チュートリアルを参照してください。

于 2012-08-27T13:35:33.663 に答える