0

アプリケーションの出力をログに記録するために使用する でラップJTextAreaされたがあります。JScrollPaneテキスト領域にサイズ 9 のデフォルトのプレーン フォントを使用しており、スクロール ペインの高さは 48 ピクセルです。これにより、スクロール ペイン ビューで行が均等に分散されますが、問題があります。上または下にスクロールすると、次のようになります。

ここに画像の説明を入力

ご覧のとおり、一番上の行が切り取られました。そのため、スクロール ペインのスクロール範囲を制限して、たとえば、上または下の 6 ピクセルに到達できないようにする方法があるかどうか疑問に思っています。代替ソリューションも歓迎します。

4

2 に答える 2

2

setBorderから継承されたメソッドを使用してカスタム Border を設定することにより、JTextArea のマージン (上/下) を変更できますJComponent。のドキュメントでJComponentは、次のことが提案されています。

技術的には、JComponent から継承する任意のオブジェクトに境界線を設定できますが、多くの標準 Swing コンポーネントのルック アンド フィールの実装は、ユーザーが設定した境界線ではうまく機能しません。通常、JPanel や JLabel 以外の Swing 標準コンポーネントにボーダーを設定する場合は、コンポーネントを JPanel に配置し、JPanel にボーダーを設定することをお勧めします。

これにより、スクロール範囲を制限した場合と同じ結果が得られますが、より単純になります。

編集:

OPは、次の解決策が彼のために働いたと報告しました:

textAreaLog.setBorder(BorderFactory.createEmptyBorder(0, 6, 0, 6));
于 2012-11-15T12:46:44.110 に答える
2

上下のインセットが 6 ピクセルの空の境界線を持つ に をJTextArea配置しますか?JPanel

于 2012-11-15T12:47:33.453 に答える