将文本作为html格式附加到JEditorPane的同一行

时间:2014-04-07 12:29:01

标签: java html swing jeditorpane htmleditorkit

我想在JEditorPane中添加 html 内容,但是当我以这种方式追加时,它会在现有文本的末尾自动插入换行符 ,如何避免这种情况。

JEditorPane pn = new JEditorPane();
pn.setContentType("text/html");
pn.setText("This is line 1");
...
//after some time
HTMLDocument doc = (HTMLDocument) pn.getDocument();
HTMLEditorKit kit = (HTMLEditorKit) pn.getEditorKit();
kit.insertHTML(doc, doc.getLength(), "<b>Hello</b>", 0, 0, null);
kit.insertHTML(doc, doc.getLength(), "World", 0, 0, null);

每次调用insertHTML()时,都会在现有文本的末尾放置换行符。 这是默认行为吗? 如果是这样我怎么处理呢?

2 个答案:

答案 0 :(得分:2)

HTMLDocument有方法

public void insertAfterStart(Element elem, String htmlText)
public void insertBeforeEnd(Element elem, String htmlText)
public void insertBeforeStart(Element elem, String htmlText)
public void insertAfterEnd(Element elem, String htmlText)

您可以传递段落或字符元素(叶子)和要插入的html

答案 1 :(得分:-1)

可能不是最好的方法,但你可以试试这个:

pn.setText(pn.getText + "your text to add here");