如何在Jtextpane中添加到现有HTML

时间:2015-08-26 18:52:05

标签: java swing htmleditorkit

我在Java / Swing中创建一个聊天程序,文本在Jtextpane对象中呈现。现在,一条新消息将删除旧消息,因为我无法弄清楚如何添加到现有文档中。怎么做?

public void addMessage(String sender, String msg) throws BadLocationException, IOException{
    HTMLEditorKit kit = new HTMLEditorKit();
    HTMLDocument doc = new HTMLDocument();
    pane.setEditorKit(kit);
    pane.setDocument(doc);

    kit.insertHTML(doc, doc.getLength(), "<b>[" + sender + "]</b> " + msg, 0, 0, null);

}

1 个答案:

答案 0 :(得分:1)

不要使用HTML。

只需使用常规文本,然后就可以将文本与样式属性相关联。

例如:

//  create a set of attributes

Simple AttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setBold(keyWord, true);

//  Add some text

try
{
    StyledDocument doc = textPane.getStyledDocument();
    doc.insertString(doc.getLength(), "\nEnd of text", keyWord );
}
catch(Exception e) {}