这似乎是一个如此简单的问题,但我遇到了这样的困难。
问题:
我有一些文本要插入到HTMLDocument
. 该文本有时也会指定一些 html。例如:
Some <br />Random <b>HTML</b>
我HTMLEditorKit.insertHTML
用来在指定的偏移量处插入它。这工作正常,除非偏移量位于文档的开头(偏移量 = 1)。在这种情况下,文本被插入到head
文档中而不是body
.
例子:
editorKitInstance.insertHTML(doc, offset, "<font>"+stringToInsert+"</font>", 0, 0, HTML.Tag.FONT);
我使用字体标签,所以我现在插入的内容将位于没有属性的字体标签中,因此不会影响格式。我需要知道这一点,因为最后一个参数 ,是必需的,直到运行时insertTag
我才能知道它的内容。stringToInsert
如果文档中已有文本(例如“1234567890”),则输出如下:
<html>
<head>
</head>
<body>
<p style="margin-top: 0">
1234567890 <font>something <br />Some <br />Random <b>HTML</b></font>
</p>
</body>
</html>
但是,如果偏移量为 1 并且文档为空,则结果如下:
<html>
<head>
<font>Some <br />Random <b>HTML</b></font>
</head>
<body>
</body>
</html>
其他注意事项:
- 这一切都是在
JEditorPane
. 如果有更好的方法JEditorPane
用潜在的 HTML 替换 a 中的文本,我也会对这些想法持开放态度。
任何帮助,将不胜感激。 谢谢!