获取 JTextComponent 的 HTMLDocument 中的当前偏移量

发布于 2024-10-14 07:08:04 字数 415 浏览 7 评论 0原文

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

文档.insertString(...)

由于某种原因,使用

HTMLEditorKit.insertHTML()

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

我想知道是我要插入到文档中的什么位置,即后台编写的HTML文档。我可以说

JTextPane.getCaretPosition()

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

In a Swing application I'm using a JTextPane with an HTMLDocument backend. At one point I'm inserting some sort of placeholders programmatically into the document with

document.insertString(...)

For some reason, using the

HTMLEditorKit.insertHTML()

method doesn't make the text appear in the JTextPane.

What I'd like to know is what position I'm inserting to in the document, that is, the HTML document which is written in the background. I can say

JTextPane.getCaretPosition()

but this only gives me the offset in the document visible to the frontend, not the resulting one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洛阳烟雨空心柳 2024-10-21 07:08:04

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

It has no sence because the result document's html text can be different. E.g. end of line could be "\n" or "\r\n" depending on OS and JVM settings. HTML skips e.g. double spaces or spaces between tags. Two tags without space between them and with a line break between them has the same offset in the Document.
You can add a custom tag with specific id and search the result document's html text for the id.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文