1

在 Swing 应用程序中,我正在使用带有 HTMLDocument 后端的 JTextPane。在某一时刻,我以编程方式将某种占位符插入到文档中

document.insertString(...)

出于某种原因,使用

HTMLEditorKit.insertHTML()

方法不会使文本出现在 JTextPane 中。

我想知道的是我要插入到文档中的哪个位置,也就是在后台编写的 HTML 文档。我可以说

JTextPane.getCaretPosition()

但这只会给我前端可见的文档中的偏移量,而不是结果。

4

1 回答 1

1

它没有意义,因为结果文档的 html 文本可能不同。例如,行尾可能是“\n”或“\r\n”,具体取决于操作系统和 JVM 设置。HTML 跳过例如标签之间的双空格或空格。两个标签之间没有空格并且它们之间有换行符在文档中具有相同的偏移量。您可以添加具有特定 id 的自定义标签,并在结果文档的 html 文本中搜索该 id。

于 2011-01-25T11:09:22.537 回答