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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка событий при собственном CellRenderer, не могу обработать событие внутри JList 
:(
    Опции темы
Castiel
Дата 8.2.2010, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте, на ворме лежит JList, переопределил для него model и CellRenderer, теперь
Код

protected static DefaultListModel statuses = new DefaultListModel();

jList1.setModel(statuses);
jList1.setCellRenderer(new Item(this, CacheStore, 0));


где Item 
Код

public class Item extends javax.swing.JPanel implements ListCellRenderer


Item представляет из себя JPanel, на которой расположена кнопка. Вопрос в том как отловить нажатие по кнопке, когда JList набит этими элементами Item. Отловить нажатие по JList понятно как, и удается. а вот навешивание на кнопку, принадлежащую Item Обработчиков ничего не дает.... В чём ошибка?
PM MAIL   Вверх
mgarin
Дата 16.2.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Фактическти, нажатия на кнопку и не происходит
Ведь вы использовали панель с кнопкой лишь как рендерер ячейки списка

Все что от них остается - видимость. Т.е. список автоматически отрисовывает лишь внешний вид панели и кнопки в указанной ячейке.
От функционала же данных элементов ничего не остается

Если вам нужно отловить на каком из элементов происходит клик можете использовать следующее:

Код

Rectangle rect = myList.getCellBounds ( myList, cellIndex, cellIndex );


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

Впрочем если вам нужно именно отрисованное "нажатие" на кнопку и хочется все-таки по-людски ловить событие от кнопки - со списком этого не выйдет.
В таком случае советую посмотреть в сторону JTable с 1 колонкой и использованием там CellEditor'ов и CellRenderer'ов с вашей панелью и кнопкой.
PM MAIL WWW 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.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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