![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| MAXIMUS00 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 4.2.2009 Репутация: нет Всего: -1 |
Всем доброго времени суток!
Суть дела: Есть класс, унаследованный от JTable. в нём переопределён метод paintComponent():
, в котором дёргается мой метод:
Всё это нужно вот для вот такой кнопульки: ![]() Проблема: Когда в таблицу пихается пустая модель, для таблицы метод paint не вызывается, а соответственно не вызывается и мой метод ( Прошу подкинуть идей для решения этого вопроса. |
||||
|
|||||
| pathfinder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 7 Всего: 10 |
Переопредили метод setModel. Если задается пустая модель то устанавливай prefferedSize() у таблицы равный высоте твоей кнопки и желаемой ширине(бери ее из JScrollPane.getViewport().getWidth(), в которую у тебя вставлена таблица). Дополнительно нужно будет следить и за моделью, когда она становится пустой те же действия, что и при установке пустой модели.
Пример
|
|||
|
||||
| MAXIMUS00 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 4.2.2009 Репутация: нет Всего: -1 |
tnx! ща буду лабать. что-то должно получиться
|
|||
|
||||
| pathfinder |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 7 Всего: 10 |
Пример слегка не правильный.
Т.к. preferredSize задается жестко, то размер таблицы в дальнейшем не будет изменятся. Поэтому в дополнение к выше написаному: если в модель были добавлены строки обязательно вызвать preferredSize(null) у таблицы, что-бы JScrollPane брал preferredSize у UI таблицы, а не тот что был задан вручную. |
|||
|
||||
| MAXIMUS00 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 4.2.2009 Репутация: нет Всего: -1 |
как раз на это напоролся ) ну эти все мелочи я как-то поборю. главное, я знаю теперь, в какую сторону смотреть.
СЕНКС БОЛЬШОЙ, КАК ЭТИ БУКВЫ. Добавлено через 8 минут и 40 секунд адаптировал твой пример под свою задачу - всё супер. метод вызывается. только моя кнопулька рисуется ПОД табличкой, а не НА ней. поэтому я сделал так : setPreferredSize(new Dimension(sp.getViewport().getWidth(), 1)); теперь решаю другой вопрос - скролл появляется, если табличка вылазит за пределы viewport. А мне надо учесть ещё и кнопку. *чешу в затылке* в любом случае тема решена. спасибо. |
|||
|
||||
![]()
|
| Правила форума "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. |