1

現在、JScrollPane内にJTextAreaがあります。現在のコンテンツでは、垂直スクロールバーと水平スクロールバーの両方が表示されます。ユーザーが特定の文字列を検索でき、その文字列の最初の出現にキャレット位置を設定する検索機能を実装しようとしています。ただし、JScrollPaneは、キャレットの位置を設定したときにのみ垂直方向にスクロールするようです。そのため、JTextAreaから水平方向に外れる一致する文字列は完全に失われ、水平方向のスクロールバーはまったくスクロールしません。

setCaretPosition()JTextAreaの基本関数を使用して います

私のJScrollPaneが使用して水平方向に移動しない理由を誰かが知っていますかsetCaretPosition()

編集:

水平スクロールバーがスクロールしているように見えますが、ほとんど動かないため、ほとんど目立ちません。キャラクターの最初のピクセルしか見えません。スクロールバーの中心(または可能な限り)をキャレットの位置にする方法はありますか?

4

1 に答える 1

1

VisibleCaretListenerを使用できるはずです。

または、スクロールペインで中心線を確認することもできます。線を垂直方向に中央揃えするだけですが、水平方向にもコードをカスタマイズできます。

于 2011-01-08T06:34:55.630 に答える