Существует ли MultiLine JLabel? - PullRequest
       23

Существует ли MultiLine JLabel?

5 голосов
/ 16 сентября 2011

Я хочу отобразить некоторый текст в JLabel во время выполнения. Я просто хочу знать, что в любом случае текст выводится в несколько строк, например, я хочу, чтобы мой текст отображался в следующем формате:

Line 1
Line 2
Line 3

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

Я попробовал приведенный выше код, но он не работает. Я что-то надеваю неправильно или JLabel не поддерживает вышеуказанную функцию?

В случае, если я не могу достичь вышеуказанной функциональности, пожалуйста, сообщите мне, как добавить несколько меток (по одной для каждой строки) в JPanel во время выполнения

Ответы [ 3 ]

13 голосов
/ 16 сентября 2011

JLabel поддерживает HTML.Вы можете написать:

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

Редактировать: я добавил косую черту с тегом br, чтобы код работал

4 голосов
/ 16 сентября 2011

используйте <br> вместо \ n и добавьте префикс <html>, например

"<html>Line1 <br> Line2 <br> Line3</html>";
3 голосов
/ 16 сентября 2011

Лучшим вариантом для текста в формате HTML в этом случае является удаление жестких разрывов строк (кроме конца абзацев) и установка ширины HTML с помощью CSS.

Как видно из 2-го примера (LabelRenderTest.java), показано здесь .

JLabel with multiline, formatted, text.

...