java - ejemplo - Texto de líneas múltiples en JLabel
jtextfield java (9)
¿Cómo puedo hacer que el texto de un JLabel se extienda a otra línea?
En mi caso, fue suficiente para dividir el texto en cada /n
y luego crear un JLabel
para cada línea:
JPanel panel = new JPanel(new GridLayout(0,1));
String[] lines = message.split("/n");
for (String line : lines) {
JLabel label = new JLabel(line);
panel.add(label);
}
Utilicé arriba en JOptionPane.showMessageDialog
Es posible usar CSS (básico) en el HTML.
Esta pregunta fue vinculada desde Multiline JLabels - Java .
Escriba el contenido (es decir, el campo de propiedad "texto") dentro de una etiqueta <html></html>
. Entonces puede usar <br>
o <P>
para insertar una nueva línea.
Por ejemplo:
String labelContent = "<html>Twinkle, twinkle, little star,<BR>How I wonder what you are.<BR>Up above the world so high,<BR>Like a diamond in the sky.</html>";
Se mostrará de la siguiente manera:
Brilla brilla pequeña estrella,
Cómo me pregunto lo que eres.
Por encima del mundo tan arriba,
Como un diamante en el cielo.
He usado JTextArea para JLabels multilínea.
JTextArea textarea = new JTextArea ("1/n2/n3/n"+"4/n");
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTextArea.html
Puedes hacerlo poniendo HTML en el código, entonces:
JFrame frame = new JFrame();
frame.setLayout(new GridLayout());
JLabel label = new JLabel("<html>First line<br>Second line</html>");
frame.add(label);
frame.pack();
frame.setVisible(true);
También puede usar un JXLabel de la biblioteca SwingX .
JXLabel multiline = new JXLabel("this is a /nMultiline Text");
multiline.setLineWrap(true);
por qué estás dando cosas complejas ... puedes hacerlo poniendo "/ n" en lugar de etiquetas html
si quieres que tu jLabel Text cambie de tamaño automáticamente, por ejemplo, en una malla elástica es suficiente para poner su texto en etiquetas html de esta forma:
JLabel label = new JLabel("<html>First line and maybe second line</html>");
String labelText ="<html>Name :"+name+"<br>Surname :"+surname+"<br>Gender :"+gender+"</html>";
JLabel label=new JLabel(labelText);
label.setVisible(true);
label.setBounds(10, 10,300, 100);
dialog.add(label);