【发布时间】:2011-03-29 02:14:51
【问题描述】:
这似乎是一个如此简单的问题,但我却遇到了这样的困难。
问题:
我有一些文本要插入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 我愿意接受这些想法 也一样。
任何帮助将不胜感激。 谢谢!
【问题讨论】:
标签: java html jeditorpane htmleditorkit