Java Swing コンポーネントを含むアプリケーションでは、JTextPane
編集不可の内部JScrollPane
に、ユーザーがいくつかの基準を入力できるいくつかのフィールドがあります。ユーザーが特定のボタンまたはメニュー項目をクリックするJTextPane
と、指定された基準を満たすドキュメントのセクションが検索され、一致が見つかった場合、そのセクションが強調表示されます。
その部分は解決されました。関連するドキュメント セグメントを見つけ、その開始位置と終了位置を (整数オフセットで) 把握し、強調表示することができます。
しかし、強調表示されたセグメントが画面からスクロールされた可能性があるため、JScrollPane の表示部分内にスクロールする必要があります。仕事をするように見えるメソッドscrollRectToVisible(Rectangle)
がJComponent
あるようですが、テキストドキュメントの位置整数から に変換する方法がわかりませんRectangle
。
これは編集不可の JTextPane であり、強調表示されたセグメントにカーソルを移動したくないことに注意してください (ユーザーはとにかくカーソルを見ることができません)。セグメントを JScrollPane の可視領域内に表示したいだけです。