Wie lässt sich ein mehrzeiliges JLabel mit HTML-Text realisieren?
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;
import javax.swing.SwingUtilities;
public class LabelMitHTMLText {
public LabelMitHTMLText() {
init();
}
private void init() {
String txt = "<html><h1 align=\"center\">Überschrift</h1>"
+ "<p bgcolor=\"#ddddff\">"
+ "Falsches Üben von Xylophonmusik quält jeden "
+ "<font color=\"#ff3333\" size=\"+1\">größeren</font> "
+ "Zwerg.</p></html>";
JLabel label = new JLabel(txt);
JFrame frame = new JFrame("HTML-Label");
frame.add(label);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new LabelMitHTMLText());
}
}
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.