Saltar al contenido

Java: saltos de línea en JLabels?

Si te encuentras con algo que no entiendes puedes dejarnos un comentario y te ayudaremos lo más rápido posible.

Solución:

Use HTML en setText, por ejemplo

myLabel.setText("with
linebreak");

Puede obtener un salto de línea automático si establece el ancho del párrafo en html.

  label.setText("

"+paragraph+"

");

Por defecto, Swing no ajusta el texto. Si especifica un tamaño en JLabel, solo pintará la parte del texto que se ajuste y luego agregará “…” al final.

Como se sugiere, puede usar HTML para habilitar el ajuste de línea. Sin embargo, no hace mucho tiempo creé un delegado de IU de Swing personalizado para lograr esto y aún más: MultiLineLabelUI.

Ajustará su texto para que se ajuste al espacio disponible y también respetará los saltos de línea. Si decide probarlo, es tan simple como:

JLabel label = new JLabel("Text that'll wrap if necessary");
label.setUI(MultiLineLabelUI.labelUI);

O, alternativamente, utilice la costumbre MultiLineLabel class que, además de ajustar el texto, admite la alineación de texto vertical y horizontal.

ACTUALIZAR

Perdí el dominio con los ejemplos de código originales. Ahora se puede ver en github en su lugar: https://github.com/sasjo/multiline

Agradecemos que desees respaldar nuestro trabajo poniendo un comentario o valorándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *