Добавить текст в JLabel

Как мне добиться эффекта JTextArea с JLabel?

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

Я просто хочу, чтобы он следовал тому же поведению, что и JTextArea.append.

Также я хочу добавить гиперссылку на каждую строку.


person Sachin Mhetre    schedule 15.03.2012    source источник


Ответы (2)


  1. Используйте форматирование HTML в этикетке, начав текст с префикса <html><body> (возможно, добавьте некоторые встроенные стили в открывающий элемент body).
  2. Добавьте каждую строку, заканчивающуюся на <br> или <p> (или <li>, если к префиксу добавляется <ul><li>).

См. также Как использовать HTML в компонентах Swing. Для таких драгоценных камней, как ..

HTML-кнопка

person Andrew Thompson    schedule 15.03.2012

Вы можете сделать это следующим образом,

label.setText(label.getText() + "text u want to append");

на каждом мероприятии.

person Rahul Borkar    schedule 15.03.2012
comment
Не соответствует требованию на следующей строке. - person Andrew Thompson; 15.03.2012
comment
Единственный способ - использовать для этого форматирование HTML, как заявил @AndrewThompson. - person Rahul Borkar; 15.03.2012
comment
Я не согласен, что это единственный способ. Вы можете расширить JLabel или попытаться стилизовать JTextArea, чтобы он отображался (и "ощущался" - не фокусировался и т. д.) как JLabel. - person Andrew Thompson; 15.03.2012
comment
@AndrewThompson: не для начинающих пользователей, мы должны сначала использовать то, что предоставил SDK, и если оно не удовлетворяет требованиям, мы можем его расширить. - person Rahul Borkar; 15.03.2012