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 回答