Newline in JLabel
-
11-09-2019 - |
Domanda
Come faccio a visualizzare una nuova riga in JLabel
?
Per esempio, se volevo:
Ciao Mondo! blahblahblah
Questo è ciò che ho in questo momento:
JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);
Questo è ciò che viene visualizzato:
Ciao Mondo! Blahblahblah
Perdonami se questa è una domanda stupida, sto solo imparando alcune nozioni di base swing ...
Soluzione
Circondano la stringa con <html></html>
e rompere le righe con <br/>
.
JLabel l = new JLabel("<html>Hello World!<br/>blahblahblah</html>", SwingConstants.CENTER);
Altri suggerimenti
Si può cercare di fare questo:
myLabel.setText("<html>" + myString.replaceAll("<","<").replaceAll(">", ">").replaceAll("\n", "<br/>") + "</html>")
I vantaggi di questa operazione sono:
- Sostituisce tutte le nuove righe con
<br/>
, a colpo sicuro. - Si sostituisce automaticamente eventuali
<
e>
con<
e>
rispettivamente, prevenire alcuni rendering caos.
Ciò che fa è:
-
"<html>" +
aggiunge un tag di aperturahtml
all'inizio -
.replaceAll("<", "<").replaceAll(">", ">")
sfugge<
e>
per comodità -
.replaceAll("\n", "<br/>")
sostituisce tutte le nuove righe dibr
(interruzione di riga HTML) Etichette per quello che si voleva - ... e
+ "</html>"
chiude il nostro taghtml
alla fine.
P.S .: Mi dispiace molto per svegliare un tale vecchio post, ma qualunque cosa, si dispone di un frammento affidabile per il vostro Java!
È possibile utilizzare il componente MultilineLabel nei componenti Jide Open Source.
Si può fare
JLabel l = new JLabel("<html><p>Hello World! blah blah blah</p></html>", SwingConstants.CENTER);
e andrà a capo automaticamente, se del caso.
Grazie Aakash per raccomandare JIDE MultilineLabel. StyledLabel di JIDE è rafforzata anche recentemente per sostenere su più righe. Lo consiglierei il MultilineLabel come ha molte altre caratteristiche grandi. È possibile controllare un articolo su StyledLabel seguito. E 'ancora libero e open source.
JLabel è in realtà in grado di visualizzare alcuni rudimentali HTML, è per questo che non risponde al vostro uso del carattere di fine riga (a differenza, ad esempio, System.out).
Se si mette nel corrispondente HTML e <BR>
utilizzato, si dovrebbe ottenere il vostro capo.