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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Multiline JTree 
V
    Опции темы
regen
Дата 8.10.2007, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброе время суток.
Вопрос может и не нов, но всё-таки...
Есть объект типа JTree. Есть Renderer который наследует DefaultTreeCellRenderer и рисует к узлам иконки... Тут появилось необходимость чтобы  узлы объекта были multiline. Пошёл от JTextArea. Сделал. Однако выяснилось, что таким образом нельзя добавить иконки около узла (т.к. у JTextArea нету метода setIcon). А задача стоит:
1) чтобы были у каждого узла иконки
2) если текст в узле длинный - разбить по словам (т.е multiline)
Как эти два требования реализовать вместе?

Заранее большое спасибо
PM MAIL   Вверх
fixxer
Дата 8.10.2007, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



Наиболее оптимальным я считаю использование в тексте html тагов. Например "<html>one<br>two". И не нужны никакие рендереры.


--------------------
user posted image
PM MAIL ICQ   Вверх
dorogoyIV
Дата 8.10.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



так может быть тебе идти не от JTextArea, а от JPanel ? а на панель ложить иконку и текстареа.
это как вариант  smile 
PM MAIL   Вверх
powerOn
Дата 8.10.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 31
Всего: 159



Цитата(regen @  8.10.2007,  14:52 Найти цитируемый пост)
Пошёл от JTextArea.

Можно попробовать идти от JPanel на котором будет слева JLabel для иконки и справа JTextArea для многострочного текста.

Добавлено через 25 секунд
Опаздал!  smile 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
fixxer
Дата 8.10.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



Цитата(powerOn @ 8.10.2007,  14:32)
Цитата(regen @  8.10.2007,  14:52 Найти цитируемый пост)
Пошёл от JTextArea.

Можно попробовать идти от JPanel на котором будет слева JLabel для иконки и справа JTextArea для многострочного текста.

Зачем? html это наше все.

Код

TreeNode node = new DefaultMutableTreeNode("<html>one<br>two");


Куда уж проще?


Это сообщение отредактировал(а) fixxer - 8.10.2007, 14:37


--------------------
user posted image
PM MAIL ICQ   Вверх
dorogoyIV
Дата 8.10.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



fixxer, а как картинку подгрузить?
пишу так:
Код

JLabel jl=new JLabel("<html><img src=image.gif>");
add(jl);

чево то не рисуется картинка  smile 

Это сообщение отредактировал(а) dorogoyIV - 8.10.2007, 15:23
PM MAIL   Вверх
fixxer
Дата 8.10.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



Да просто не находит картинку. Используйте Class#getResource(). Ну и никто не запрещает переопределить дефолтный рендерер и там сказать setIcon(Icon)


--------------------
user posted image
PM MAIL ICQ   Вверх
regen
Дата 9.10.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пошёл как и советовалось от JPanel. В итоге теперь всё в ажуре. Большое спасибо.
Насчет html... Сам так попробовал перед тем как вопрос задать. Не устроило по причине "а если слишком большой текст, как определять высоту ячейки?"... html просто пытался вместить огромный текст в ячейку и из этого выходила полная нечитабельность. Может у меня СКР, но всё-таки..  smile 

Всем большое спасибо. Вопрос решён
PM MAIL   Вверх
skif18
Дата 16.10.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 358
Регистрация: 17.5.2007
Где: Молдова, Кишинев

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



И мне помогли спасибо!


--------------------

PM MAIL ICQ   Вверх
dorogoyIV
Дата 20.10.2007, 05:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(dorogoyIV @  8.10.2007,  15:21 Найти цитируемый пост)
fixxer, а как картинку подгрузить?пишу так:код Java1:2:JLabel jl=new JLabel("<html><img src=image.gif>");add(jl);highlightSyntax('java_ZGE3Zj','java');highlightSyntax('java_ZGE3Zj','java');чево то не рисуется картинка   


наверное fixxer этого не знал  smile 
хоть и с опозданием напишу, но все же...
надо так подгружать картинку через HTML:
Код

new JLabel("<html><img src=file:image.gif>")

 smile 
PM MAIL   Вверх
fixxer
Дата 23.10.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



Цитата(dorogoyIV @ 20.10.2007,  05:32)

наверное fixxer этого не знал  smile 
хоть и с опозданием напишу, но все же...
надо так подгружать картинку через HTML:
Код

new JLabel("<html><img src=file:image.gif>")

 smile

Фига!

Это сообщение отредактировал(а) fixxer - 23.10.2007, 10:20


--------------------
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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