2015-08-26 2 views
0

Я делаю чат-программу в Java/Swing, и текст отображается в объекте Jtextpane. В настоящее время новое сообщение стирает старый, поскольку я не мог понять, как добавить к существующему документу. Как это сделать?Как добавить к существующему HTML в 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); 

} 
+0

Что произойдет, если вы просто делаете pane.setText (pane.getText() + "[" + отправителем + "]" + тзд)? – ControlAltDel

+0

setText не работает. Оставил все в порядке, что бы я ни делал. Однако, я понял это. Я в основном doofus: Я воссоздаю документ каждый раз, когда я запускаю addMessage ... Так что просто сделать эти публикации в начале класса исправлены. Надеюсь, это поможет кому-то! – Cinaed666

ответ

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) {} 
Смежные вопросы