Wie kann ich eine neue Zeile in anzeigen JLabel
?
Zum Beispiel, wenn ich wollte:
Hallo Welt!
blahblahblah
Das habe ich gerade:
JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);
Folgendes wird angezeigt:
Hallo Welt! Blahblahblah
Verzeih mir, wenn dies eine dumme Frage ist, ich lerne nur ein paar Swing-Grundlagen ...
java
user-interface
swing
formatting
jlabel
mportiz08
quelle
quelle
Antworten:
Umgeben Sie die Zeichenfolge mit
<html></html>
und brechen Sie die Linien mit<br/>
.quelle
Sie können dies versuchen:
Dies hat folgende Vorteile:
<br/>
.<
bzw.>
durch<
und>
verhindert so ein gewisses Rendering-Chaos.Was es tut ist:
"<html>" +
Fügthtml
am Anfang ein Eröffnungs- Tag hinzu.replaceAll("<", "<").replaceAll(">", ">")
entkommt<
und>
für die Bequemlichkeit.replaceAll("\n", "<br/>")
Ersetzt alle Zeilenumbrüche durchbr
(HTML-Zeilenumbruch-) Tags für das, was Sie wollten+ "</html>"
schließt unserhtml
Tag am Ende.PS: Es tut mir sehr leid, einen so alten Beitrag aufzuwecken, aber wie auch immer, Sie haben ein zuverlässiges Snippet für Ihr Java!
quelle
Sie können die MultilineLabel-Komponente in den Jide Open Source-Komponenten verwenden.
http://www.jidesoft.com/products/oss.htm
quelle
Du kannst tun
und es wird es gegebenenfalls automatisch einwickeln.
quelle
Vielen Dank an Aakash für die Empfehlung von JIDE MultilineLabel. Das StyledLabel von JIDE wurde kürzlich erweitert, um mehrere Leitungen zu unterstützen. Ich würde es über das MultilineLabel empfehlen, da es viele andere großartige Funktionen hat. Sie können einen Artikel über StyledLabel unten lesen. Es ist immer noch kostenlos und Open Source.
http://www.jidesoft.com/articles/StyledLabel.pdf
quelle
JLabel ist tatsächlich in der Lage, rudimentäres HTML anzuzeigen, weshalb es nicht auf Ihre Verwendung des Zeilenumbruchzeichens reagiert (im Gegensatz beispielsweise zu System.out).
Wenn Sie den entsprechenden HTML-
<BR>
Code eingeben und verwenden , erhalten Sie Ihre Zeilenumbrüche.quelle
<br>
Tag, das durch Stapelüberlauf als wörtlicher Zeilenumbruch im Beitrag formatiert wurde.