こんにちは
、HTMLEditorKit で JEditorPane を使用して、テキストを折り返す機能を備えた HTML テキストを表示しました。
問題は、.setText メソッドを使用してコンテンツを設定すると、そのテキストの最後まで自動的にスクロールすることです。
これを無効にするにはどうすればよいですか?
ありがとう。
こんにちは
、HTMLEditorKit で JEditorPane を使用して、テキストを折り返す機能を備えた HTML テキストを表示しました。
問題は、.setText メソッドを使用してコンテンツを設定すると、そのテキストの最後まで自動的にスクロールすることです。
これを無効にするにはどうすればよいですか?
ありがとう。
このトリックを試して、 の前にカーソル位置を保存し、setText()
テキストをコンポーネントに追加したら元に戻すことができます。
int caretPosition = yourComponent.getCaretPosition();
yourComponent.setText(" your long text ");
yourComponent.setCaretPosition(Math.min(caretPosition, text.length()));
これを試して:
final DefaultCaret caret = (DefaultCaret) yourEditorPane.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
//!!!!text must be set AFTER update policy has been set!!!!!
yourEditorPane.setText(text);