更改JTextPane中显示的HTMLDocument的内容

时间:2010-05-22 14:45:18

标签: java swing jtextpane dom

我使用JTextPane将一些表格显示为HTML代码(由Freemarker模板呈现)。我在这个HTML输出中也有一些HTML链接,可以用来与表的值进行交互(例如“删除一行”和类似的东西)。目前,我总是在每次更改时重新创建整个HTML输出,并将JTextPane中的整个文档替换为新文档。这变得非常慢,当我这样做时,JTextPane总是改变滚动位置。

是否可以在运行时更改部分HTML代码而无需替换整个文档?在真实的浏览器中,我会使用DOM并执行类似document.getElementById(“price”)的内容.innerHTML =“$ 123.44”。在JTextPane中使用HTMLDocument可以实现这样吗?

1 个答案:

答案 0 :(得分:2)

您可以在getDocument()上调用JTextPane来获取HTMLDocument,可以按照此example中的建议进行遍历。您可以根据需要使用replace()setInnerHTML()setOuterHTML()