113 votes

Newline dans JLabel

Comment afficher une nouvelle ligne dans JLabel?

Par exemple, si je voulais:

Bonjour le monde!
blahblahblah

Voici ce que j'ai en ce moment:

 JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);
 

C'est ce qui est affiché:

Bonjour le monde! Blahblahblah

Pardonnez-moi s'il s'agit d'une question idiote, j'apprends quelques notions de base sur Swing ...

185voto

freitass Points 2488

Entourez la chaîne de caractères avec <html></html> et coupez les lignes avec <br> .

 JLabel l = new JLabel("<html>Hello World!<br>blahblahblah</html>", SwingConstants.CENTER);
 

3voto

Aakash Points 214

Vous pouvez utiliser le composant MultilineLabel dans les composants Jide Open Source.

http://www.jidesoft.com/products/oss.htm

2voto

nevster Points 451

Tu peux faire

 JLabel l = new JLabel("<html><p>Hello World! blah blah blah</p></html>", SwingConstants.CENTER);
 

et il sera automatiquement emballé, le cas échéant.

2voto

jidesoft Points 172

Merci Aakash d'avoir recommandé JIDE MultilineLabel. StyledLabel de JIDE a également été amélioré récemment pour prendre en charge plusieurs lignes. Je le recommande plutôt que le MultilineLabel car il possède de nombreuses autres fonctionnalités intéressantes. Vous pouvez consulter un article sur StyledLabel ci-dessous. C'est toujours gratuit et open source.

http://www.jidesoft.com/articles/StyledLabel.pdf

1voto

Uri Points 50687

JLabel est en fait capable d'afficher du code HTML rudimentaire. C'est pourquoi il ne répond pas à votre utilisation du caractère de nouvelle ligne (contrairement à System.out, par exemple).

Si vous insérez le code HTML correspondant et utilisez <BR> , vous obtiendrez vos nouvelles lignes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X