jueves, 22 de julio de 2010

Cómo forzar el salto de línea (wrap) en un JLabel

Un post rápido y sencillo.

En algunas ocasiones, por el motivo que sea, utilizamos el componente JLabel para mostrar mensajes cuyo tamaño no conocemos en tiempo de desarrollo. En estos casos nos podemos encontrar con que el ancho que hemos dado al campo no es suficiente para recoger todo el texto.

Se nos puede ocurrir como solución ampliar la altura, pero si simplemente hacemos eso veremos que la línea no se rompe al llegar al final del componente, por lo que no conseguimos resolver el problema.

Pero no hay que preocuparse, porque la solución es muy simple, ya que con añadir etiquetas html al texto obtendremos el efecto que necesitamos.


17 comentarios:

  1. Eso no sirve para una aplicación de escritorio

    ResponderEliminar
  2. Que sí hombre, ¿por qué iba a inventármelo? :D

    ResponderEliminar
  3. ya lo probe y si funciona gracias por la solución.

    ResponderEliminar
  4. Lo que pasa es que en el ejemplo, el olvido colocar el
    en el String del JLabel, el
    reemplaza el \n cuando se utiliza el lenguaje html para forzar el formato del JLabel, pero si funciona!!

    ResponderEliminar
  5. Muchas gracias me funciona perfectamente

    ResponderEliminar
  6. Y alguien sabe como centrar el texto del JLabel con "" xq con JLabel.CENTER no va

    ResponderEliminar
    Respuestas
    1. Y alguien sabe como centrar el texto del JLabel con "html" xq con JLabel.CENTER no va

      Eliminar
  7. Excelente, muchas gracias. Funciona 100%

    ResponderEliminar
  8. No funciona en Swing. Acabo de probarlo. Eso será en FX.

    ResponderEliminar

Cualquier aportación será bienvenida