How to output using StyledDocument with HTML?

2019-05-11 15:47发布

问题:

I have a JTextPane, and I would like to output text on 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 "Some Text".

Is there a way to do this?

回答1:

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>");