2011-09-16 14 views
5

Quiero mostrar texto en JLabel en tiempo de ejecución. Sólo quiero saber que es allí de todos modos a través del cual el texto se dispalyed en varias líneas por ejemplo quiero que mi texto que se mostrará en el siguiente formato:¿Existe algún JLabel MultiLine?

Line 1 
Line 2 
Line 3 

String sText = "Line1 \n Line2 \n Line3"; 
jLabel1.setText (sText); 

He probado el código anterior, pero no su trabajo. ¿Estoy haciendo algo mal o JLabel no es compatible con dicha función?

En caso de que no estoy en condiciones de lograr la funcionalidad anterior, entonces por favor me guía ¿Cómo agrego varias etiquetas (una para cada línea) en JPanel en tiempo de ejecución

+2

La otra opción es utilizar JLabels de una sola línea, pero colocarlos en un JPanel (recipiente) que utiliza un diseño que le permite apilar los JLabels, como un GridLayout o una BoxLayout. –

Respuesta

11

JLabel compatible con HTML. Usted puede escribir:

String sText = "<html>Line1 <br/> Line2 <br/> Line3</html>"; 
jLabel1.setText (sText); 

Editar: añadí barras inclinadas hacia atrás con la etiqueta br con el fin de hacer que el código de trabajo

+1

bro Thx pero no su trabajo en mi PC :(algún consejo? estoy usando NetBeans 7 y Win 7 – Jame

+1

@Jame, Pruebe ' " Línea 1 Línea 2

línea3"' – mrkhrts

+0

Por favor, intente sin etiqueta de cierre en 'br' y adjuntando la etiqueta html. También vea esto: http://download.oracle.com/javase/tutorial/uiswing/components/html.html –

4

uso <br> en lugar de utilizar \ n y el prefijo por <html> como esto

"<html>Line1 <br> Line2 <br> Line3</html>"; 
+0

Tenga en cuenta que para que tenga efecto (para que se represente como HTML), el 'String' necesita un prefijo' 'al'
'. De lo contrario +1. –

+0

Corregida la publicación. voto negativo eliminado. –

3

Una mejor opción para el texto con formato HTML en este caso, es dejar caer los saltos de línea duros (excepto al final de los párrafos) y establecer el ancho del HTML usando CSS.

Como se ve en el segundo ejemplo (LabelRenderTest.java) se muestra here.

JLabel with multiline, formatted, text.