Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перенести строки HTML текста JLabel, чтобы переносились, а не распирали 
V
    Опции темы
_Y_
Дата 25.10.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Имеется JLabel в котором отображается довольно длинный HTML-отформатированный текст. В отличие от представления в браузерах:
  • если строка в ширину JLabel не помещается - она распирает JLabel, браузеры же сами переносят строку по пробелу или по черточке;
  • если в строке имеется текстовый код новой строки, строка переносится, браузеры же такой код игнорируют, перенося либо где им нужно, либо по тегу <br>.
Вопрос в том, можно ли заставить JLabel вести себя по-браузерски, т.е. переносить строку под свой размер и/или игнорировать код новой строки? Понятное дело, что можно написать свой код, но может есть стандартное средство?

ЗЫ: К JLabel я не привязан - сгодится и другой компонент, но только из стандартных пакетов.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Старовъръ
Дата 26.10.2008, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: нет
Всего: 10



javax.swing.JTextPane ?
PM MAIL WWW   Вверх
_Y_
Дата 26.10.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Цитата(Старовъръ @ 26.10.2008,  11:22)
javax.swing.JTextPane ?

Что-то я торможу. JTextPane вообще не желает HTML обрабатывать. Вот этот код создает JTextPane.
Код

//Create HTML text    
StringBuffer stringBuffer = new StringBuffer("<html><body>");
for(int i = 0; i < 100; i++) stringBuffer.append(i + " ");
stringBuffer.append("</body></html>");
    
//Create JTextPane and set the HTML text
JTextPane jTextPane = new JTextPane();        
jTextPane.setText(stringBuffer.toString());

Показывает:
Код

<html><body>0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 </body></html>

Что я забыл поутру спросонья?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
dorogoyIV
Дата 26.10.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 36
Всего: 46



Код

 HTMLEditorKit kit = new HTMLEditorKit();
 jTextPane.setEditorKit(kit);
 jTextPane.setText("<html>321<br>123&nbsp;<sub>777");

PM MAIL   Вверх
_Y_
Дата 26.10.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



Спасибо. Работает. Чтобы закрыть тему привожу работающий код:
Код

//Create HTML text    
StringBuffer stringBuffer = new StringBuffer("<html><body>");
for(int i = 0; i < 100; i++) stringBuffer.append(i + " ");
stringBuffer.append("</body></html>");

//Create JTextPane and set the HTML text
JTextPane jTextPane = new JTextPane();
jTextPane.setEditorKit(new HTMLEditorKit());
jTextPane.setEditable(false);
jTextPane.setText(stringBuffer.toString());



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.