Как я могу отобразить новую строку JLabel
?
Например, если бы я хотел:
Привет мир!
бла бла бла
Вот что у меня сейчас:
JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);
Вот что отображается:
Привет мир! Бла-бла-бла
Простите меня, если это глупый вопрос, я только изучаю основы Swing ...
java
user-interface
swing
formatting
jlabel
mportiz08
источник
источник
Ответы:
Обведите строку
<html></html>
и разорвите ее<br/>
.источник
Вы можете попробовать сделать это:
Преимущества этого:
<br/>
.<
и>
на<
и,>
соответственно, предотвращая некоторый хаос.Что он делает:
"<html>" +
добавляет открывающийhtml
тег в начало.replaceAll("<", "<").replaceAll(">", ">")
убегает<
и>
для удобства.replaceAll("\n", "<br/>")
заменяет все символы новой строкиbr
тегами (разрыв строки HTML) на то, что вы хотели+ "</html>"
закрывает нашhtml
тег в конце.PS: Мне очень жаль, что разбудил такой старый пост, но что бы то ни было, у вас есть надежный сниппет для вашей Java!
источник
Вы можете использовать компонент MultilineLabel в компонентах Jide с открытым исходным кодом.
http://www.jidesoft.com/products/oss.htm
источник
Ты можешь сделать
и он автоматически обернет его там, где это необходимо.
источник
Спасибо Aakash за рекомендацию JIDE MultilineLabel. JIDE StyledLabel также недавно был улучшен для поддержки нескольких строк. Я бы рекомендовал его вместо MultilineLabel, так как он имеет много других замечательных функций. Вы можете ознакомиться со статьей о StyledLabel ниже. Это все еще бесплатно и с открытым исходным кодом.
http://www.jidesoft.com/articles/StyledLabel.pdf
источник
JLabel на самом деле способен отображать элементарный HTML, поэтому он не реагирует на использование вами символа новой строки (в отличие, скажем, от System.out).
Если вы введете соответствующий HTML и
<BR>
будете использовать , вы получите свои символы новой строки.источник
<br>
тег, который был отформатирован переполнением стека как буквальный разрыв строки в посте.