1

JTextPaneを使用していくつかのテーブルをHTMLコード(Freemarkerテンプレートでレンダリング)として表示しています。このHTML出力には、テーブルの値を操作するために使用できるHTMLリンクもいくつかあります(たとえば、「行の削除」など)。現在、私は常に変更のたびにHTML出力全体を再作成し、JTextPaneのドキュメント全体を新しいものに置き換えています。これは非常に遅くなり、これを行うとJTextPaneは常にスクロール位置を変更します。

ドキュメント全体を置き換えることなく、実行時にHTMLコードの一部のみを変更することは可能ですか?実際のブラウザでは、DOMを使用して、document.getElementById( "price")。innerHTML ="$123.44"のような操作を行います。JTextPaneのHTMLDocumentでそのようなことが可能ですか?

4

1 に答える 1

2

を呼び出しgetDocument()て、JTextPaneを取得できます。これは、このHTMLDocumentで提案されているようにトラバースできます。、または必要に応じて使用できます。replace()setInnerHTML()setOuterHTML()

于 2010-05-22T18:14:30.727 に答える