![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Scatman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 14.3.2006 Репутация: нет Всего: нет |
Можно ли в список в одну строку поместить и картинку и текст
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Можно, смотри в сторону ListCellRenderer.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| powerOn |
|
||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Вот небольшой примерчик.
Определяем класс для элемента списка с картинкой.
Создаем свой ListCellRedender. отвечающий за прорисовку элементов списка.
пишем тестовый пример
|
||||||
|
|||||||
| Scatman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 14.3.2006 Репутация: нет Всего: нет |
Всем спасибо помогли!!!!
|
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
нЕзачто, заходи еще.
|
|||
|
||||
| MOFA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 17.12.2006 Репутация: нет Всего: нет |
Все выше сказанное понятно, тоесть как это делать по готовому массиву данных. А как потом реализовать динамическое заполнение списка, например по нажатию кнопки? Помогите кто знает, а то уже пару дней мучаюсь. |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: 2 Всего: 5 |
Можно использовать DefaultListModel или создать свою модель расширяя AbstractListModel.
|
|||
|
||||
| MOFA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 17.12.2006 Репутация: нет Всего: нет |
Да, это тоже понятно, но так у меня получилось добавлять элементы одного типа, а как можно добавлять например иконку, а после нее текст (в одну строчку) ? |
|||
|
||||
| BlackStar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 13.12.2006 Репутация: 2 Всего: 5 |
Так все тоже самое, только вместо строк добавляй указынный выше ImageListElement.
ЗЫ. Естесственно при этом нужно также использовать ListCellRedender к нему. |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
плохо понимаю проблему. У списка есть модель - это данные. У списка есть рендерер - это способ отображения данных. Вы вправе менять данные как хотите и рендерер как хотите. Лишь бы они были согласованы. Если нужно поменять количество элементов - то меняйте модель, если нужно что бы элементы списка отображались иначе - то меняйте рендерер.
Измените модель. Напимер создайте другой массив с элементами ImageListCellsRedender() и установите его jList-у. Можете поменять "контейнер": вместо массива использовать Vector. Можете написать свой класс для элемента списка вместо ImageListCellsRedender, но он должен быть согласован с рендерером. |
||||
|
|||||
| MOFA |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 17.12.2006 Репутация: нет Всего: нет |
Я делаю это так:
ReportListElement.java
ReportListCollection.java
ReportListModel.java
ReportListRenderer.java
Юзаю так:
И это не работает |
||||||||||
|
|||||||||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
так, код ваш запустил. у меня все работает
В коде окна, использовал:
|
||||
|
|||||
| MOFA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 17.12.2006 Репутация: нет Всего: нет |
ОК, так у меня тоже заработало, но мне нужно добавлять элементы по событию, тоесть я изнпчально не знаю всю модель.
Как это реализовать? Сейчас я написал так:
При этом выводиться в список только первое сообщение, а потом все пропадает и ничего не выводиться. |
|||
|
||||
| MOFA |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 17.12.2006 Репутация: нет Всего: нет |
Нашел решение:
Огромное спасибо за помощь powerOn!!! |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
А как сделать если нужна не одна а две или более иконок в одной строчке с текстом? Решение найдено Это сообщение отредактировал(а) Hidrag - 25.4.2007, 17:22 -------------------- |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |