JTextPane附加HTML字符串

时间:2014-12-16 19:41:51

标签: java html formatting append jtextpane

我可以解析JTextPane的内容,而不会出现HTML中的任何问题:

textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText(<b>Hello!</b>);
// ...
setVisible(true);

这导致

您好!

但每当我尝试使用

将字符串附加到textPane时
styledDoc = (StyledDocument) textPane.getStyledDocument();
styledDoc.insertString(styledDoc .getLength(), <b>Goodbye!</b>, null );

(如in this question所示),我的输出是

  

您好! <b>Goodbye!</b>

(没有空格) - 所以跳过了html格式。

如何将字符串附加到我的JTextPane对象并保留添加部分的HTML格式?

1 个答案:

答案 0 :(得分:4)

使用例如

HTMLDocument doc=(HTMLDocument) textPane.getStyledDocument();
doc.insertAfterEnd(doc.getCharacterElement(doc.getLength()),"<b>Goodbye!</b>");

HTMLEditorKit kit=(HTMLEditorKit )textPane.getEditorKit();

如果要插入段落/表或其他分支元素

,请使用该方法
public void insertHTML(HTMLDocument doc, int offset, String html,
                       int popDepth, int pushDepth,
                       HTML.Tag insertTag)