Wie lässt sich ein mehrzeiliges JLabel mit HTML-Text realisieren?

JLabel können problemlos mit HTML-Text versehen werden, wenn dieser standardgerecht formatiert ist.

Beispiel eines JLabel mit HTML-Formatierung

Das Beispiel zeigt einen einfachen JFrame, der lediglich ein JLabel enthält. Das Label ist mit HTML-Text versehen, sodass auch mehrzeilige Darstellungen möglich sind. Der Text muss lediglich Code-konform sein und kann auch ansatzweise durch Stylesheets formatiert werden. Doctype-Angaben oder ein <head>- und <body>-Bereich sind nicht notwendig.

import javax.swing.JFrame;
import javax.swing.JLabel;

public class LabelMitHTMLText extends JFrame {

    public LabelMitHTMLText() {
        String txt = "<html><h1 align=\"center\">&Uuml;berschrift</h1>"
                + "<p bgcolor=\"#ddddff\">"
                + "Falsches &Uuml;ben von Xylophonmusik qu&auml;lt jeden "
                + "<font color=\"#ff3333\" size=\"+1\">gr&ouml;&szlig;eren</font> "
                + "Zwerg.</p></html>";
        JLabel label = new JLabel(txt);
        this.add(label);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.pack();
        this.setVisible(true);
    }

    public static void main(String[] args) {
        new LabelMitHTMLText();
    }
}