Search code examples
javahtmlswingjtextpanestyleddocument

How to output using StyledDocument with HTML?


I have a JTextPane, and I would like to output text in it using StyledDocument. Here is my StyledDocument object:

StyledDocument dox = (StyledDocument) textArea.getDocument();

Style style = dox.addStyle("StyleName", null);

StyleConstants.setFontFamily(style, Font.SANS_SERIF);
StyleConstants.setFontSize(style, 8);
dox.insertString(dox.getLength(), "<b>Some Text</b>", null);

The problem right now is if I edit the text with html code, it does not display the way I want. I want the text to be displayed as bolded instead of literally <b>Some Text</b>.

Is there a way to do this?


Solution

  • I did figure it out on my own in the end using HTMLEditorKit, here's the answer for futher reference

        StyledDocument dox = (StyledDocument) textArea.getDocument();
        textPane.setEditorKit(new HTMLEditorKit());
    
        textPane.setText("<b>Some Text</b>");