Search code examples
javahtmlswingjtextpane

Styling text in a JTextArea or JTextPane


Basically, I have a JTextPane to hold some text which I wish to style. JTextArea would have been better for me to use but I'm told you cannot style the text in these?

However, the JTextPane doesn't seem to style properly. For example, the following code is just returned with the HTML included:

public static void main(String[] args) {
    JFrame j = new JFrame("Hello!");
    j.setSize(200,200);
    JTextPane k = new JTextPane();
    k.setText("<html><strong>Hey!</strong></html>");
    j.add(k);
    j.setVisible(true);
}

I want to be able to just style some text in a JTextPane when a user interacts with the interface, but so far, it just returns the string with the HTML still in! Help!


Solution

  • If you want to diplaying Html contents in the JTextPane then you have to set for JTextPane#setContentType("text/html");, example here

    EDIT:

    for JEditorPanes / JTextPanes is there another way by implements StyledDocument, MutableAttributeSet and with customized Highlighter, example here

    a.m. way is without using Html syntax