Como posso exibir uma nova linha em JLabel
?
Por exemplo, se eu quisesse:
Olá Mundo!
blá blá blá
Isso é o que eu tenho agora:
JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);
Isso é o que é exibido:
Hello World! Blahblahblah
Perdoe-me se esta é uma pergunta idiota, estou apenas aprendendo algumas noções básicas do Swing ...
java
user-interface
swing
formatting
jlabel
mportiz08
fonte
fonte
Respostas:
Cerque a corda com
<html></html>
e quebre as linhas com<br/>
.fonte
Você pode tentar fazer isso:
As vantagens de fazer isso são:
<br/>
, sem falhas.<
e>
com<
e>
respectivamente, evitando alguns erros de renderização.O que ele faz é:
"<html>" +
adiciona umahtml
tag de abertura no início.replaceAll("<", "<").replaceAll(">", ">")
fugas<
e>
por conveniência.replaceAll("\n", "<br/>")
substitui todas as novas linhas porbr
tags (quebra de linha HTML) para o que você queria+ "</html>"
fecha nossahtml
tag no final.PS: Lamento muito acordar com um post tão antigo, mas enfim, você tem um snippet confiável para o seu Java!
fonte
Você pode usar o componente MultilineLabel nos componentes de código aberto Jide.
http://www.jidesoft.com/products/oss.htm
fonte
Você pode fazer
e irá envolvê-lo automaticamente quando apropriado.
fonte
Obrigado Aakash por recomendar o JIDE MultilineLabel. O StyledLabel do JIDE também foi aprimorado recentemente para oferecer suporte a várias linhas. Eu recomendaria em vez do MultilineLabel, pois tem muitos outros recursos excelentes. Você pode verificar um artigo sobre StyledLabel abaixo. Ele ainda é gratuito e de código aberto.
http://www.jidesoft.com/articles/StyledLabel.pdf
fonte
JLabel é realmente capaz de exibir algum HTML rudimentar, razão pela qual ele não está respondendo ao uso do caractere de nova linha (ao contrário, digamos, de System.out).
Se você inserir o HTML correspondente e usá-
<BR>
lo, obterá suas novas linhas.fonte
<br>
tag literal que foi formatada por estouro de pilha como uma quebra de linha literal na postagem.