JScrollPane内のカスタムhtmlドキュメント(URLからではありません)とJTextFieldを持つJEditorPaneを使用して、エディタペインでハイライト表示されるテキストをユーザーが入力できるようにします。 JEditorPaneのに新しいテキストを設定し、その後、背景を強調するためにJEditorPaneでJava scrollToReference例外が発生する
<a name='spot'><span style='background-color: silver'>my text</span></a>
:テキストフィールドのkeyPressedイベントでは、私はテキストの文書を検索する、とそれを囲みます。これはすべて正常に動作しますが、ペインを新しく強調表示されたテキストにスクロールします。だから、エディタペインのdocumentListenerののchangedUpdate方法では、私が追加:
pane.scrollToReference("spot");
この呼び出しはBoxView.modelToView内部には、ArrayIndexOutOfBoundsExceptionがスローされます。このメソッドはテキスト内に「スポット」参照を見つけますが、おそらくビューが新しいテキストで更新されていない可能性があるので、そこでスクロールしようとすると失敗します。
ビューへの参照を取得できません。JEditorPaneのビューが完全に更新されたことを示すリッスンするイベントが見つからないようです。何か案は?
おかげで、
ジャレッド
を示すの周りのすべての例のHTMLEditorKitのタイプから、あなたの質問を[SSCCE](http:// ssc ce.org/)が原因で 'ArrayIndexOutOfBoundsException'が発生しました – mKorbel
私はHtmlEditorKitを変更していないので、JEditorPaneのデフォルトは何ですか。 – Jared