2011-01-17 8 views
2

Wie schreibe ich Text in zwei Zeilen innerhalb eines JLabel (funktioniert nicht mit \n)?Zwei Zeilen Text in einem JLabel

+1

möglich Duplikat [Zwei oder mehr Zeilen in einer JTable Zelle?] (Http://stackoverflow.com/questions/4569092/two-or-more-lines-in-a-jtable-cell) –

+0

mögliches Duplikat von [Newline in JLabel] (http://stackoverflow.com/questions/1090098/newline-in-jlabel) – finnw

+1

@Jigar Joshi, das ist kein exaktes Duplikat, da der Fragesteller die Tabellenzelle nicht kannte Renderer war ein JLabel, aber diese Frage ist spezifisch für JLabel – finnw

Antwort

7

Try es so zu machen:
JLabel myLabel = new JLabel("<html>this is line1<br>this is line2</html>");

6
JLabel label = new JLabel("<html>Two<br/>lines</html>"); 

Siehe How to Use HTML in Swing Components

+0

+1 für den Link zu den Dokumenten – Qwerky

+0

Ich habe nicht realisiert, dass es in der Java-Tutorial behandelt wurde! Beachten Sie jedoch, dass - diese Beispielseite sowie die meisten hier, das unnötige schließende Element nicht weglassen. Da es in jedem Fall ungültiges HTML ist (kein Element), macht es wenig Sinn, das schließende Element hinzuzufügen. Auf dieser Verbindung - ein anderer Punkt ist, dass es nett wäre, eine Liste der ganzen Reihe von Elementen zu sehen, die die Swing-Komponenten rendern können. Es ist im Grunde HTML 3.2, aber nicht alles. Auch die Swing-Rendering-Engine behandelt im Allgemeinen eine Vielzahl von CSS, aber nicht dokumentiert, AFAIU. :( –

+0

Re die CSS - Unterstützung im letzten Kommentar, mehr zu sagen im Sinne von "..aber (was genau Teile von CSS unterstützt werden ist) undokumentiert, ..". Und während ich hier bin, eine weitere Korrektur auf der Java-Tutorial-Seite: Während das * erste * Beispiel die schließt, tun dies die späteren Beispiele nicht. –

2

gehen für "<html> one <br/> two </html>"

2
jLabel.add("<html>a<br/>b</html>"); 
0

Auch hier Lösung ist, wenn man die beiden Linien in der zentrieren möchten jlabel.

JLabel label = new JLabel("<html> <center> line1 </center> <center> line2 </center> </html>");