获取 JTextComponent 的 HTMLDocument 中的当前偏移量
在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它没有意义,因为结果文档的 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.