2010-05-22 55 views
1

我使用JTextPane將某些表顯示爲HTML代碼(由Freemarker模板呈現)。我在這個HTML輸出中也有一些HTML鏈接,可以用來與表格的值進行交互(例如「刪除一行」以及類似的東西)。目前,我總是在每次更改時重新創建整個HTML輸出,並用新文檔替換JTextPane中的整個文檔。這變得非常慢,當我這樣做時,JTextPane總是改變滾動位置。更改顯示在JTextPane中的HTMLDocument的內容

是否有可能在運行時更改部分HTML代碼而不替換整個文檔?在真正的瀏覽器中,我會使用DOM並執行諸如document.getElementById(「price」)。innerHTML =「$ 123.44」。類似於JTextPane中的HTMLDocument可能嗎?

回答

2

您可以在JTextPane調用getDocument()獲得HTMLDocument,可在本example建議遍歷。根據需要,您可以使用replace()setInnerHTML()setOuterHTML()