![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
PovAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
Может кто покажет надежную имплементацию?
(Нужны чтобы в зависимости от вводимого в ячейку текста размер всей строки по высоте(ширине) таблицы изменялся, т.е. чтобы весь текст был виден. ) Это сообщение отредактировал(а) PovAnd - 29.10.2009, 15:54 |
|||
|
||||
dorogoyIV |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
может быть ты имел ввиду - изменять ширину столбца? тогда вот:
|
||||
|
|||||
PovAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
Не. Нужно что-то типа такого:
Просто такая реализация не катит, то что она глючит когда ввести много строк, надо как-то по правильному рассчитать размеры текста, а я блин не математик :( . Сори за непонятки Это сообщение отредактировал(а) PovAnd - 29.10.2009, 15:53 |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
я ждал - когда же ты исправишь вопрос свой
![]() все таки высота строки? ![]() да ладно... короче надо делать свой рендерер: (ну примерно так должно получиться)
|
|||
|
||||
filipp76 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
dorogoyIV, почему-то ваш пример применимо к моей таблице не работает ( вообще ничего не поменялось кроме выделения синим цвета ячейки при ее выборе, текст как не влазил в ячейку так и не влазит (. Может я что-то не так делаю, скопировал два ваших класа и:
Вставляю этот код в конце после присваивания TableModel. Это сообщение отредактировал(а) filipp76 - 9.1.2012, 11:25 |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
![]() |
|||
|
||||
filipp76 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
В чем же может быть проблема ? (
|
|||
|
||||
filipp76 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
Сори протупил все работает но не совсем как мне надо, у меня данные выводятся в таблицу, а не вводятся руками и ячейки у меня не редактируемые, как мне сделать так чтоб после вывода данных в таблицу она автоматически подстроила высоту строки ? и еще очень важно мне надо применять это только к второму столбцу. Заранее спасибо.
Понял что надо в MyCellEditor правильный Listener добавит который отловит обновление / добавление данных, но какой и к чему его прикрутить не могу найти. Это сообщение отредактировал(а) filipp76 - 9.1.2012, 13:19 |
|||
|
||||
dorogoyIV |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
строка 79
|
||||||
|
|||||||
filipp76 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
Все равно не понял, у вас функция запускается из листенера по событию, куда именно в коде вставить updateTableRowHeight() чтоб она выполнялась сразу ? И пользователь у меня нчиего не выбирает, задача загрузить данные в таблицу и сделать их нормально читаемыми, конкретно в 2й колонке длинная строка. И еще на этой строке - table.getSelectedRow() вылетает ошибка, насколько я понял из-за того что никаких строк не выбрано ![]() Это сообщение отредактировал(а) filipp76 - 9.1.2012, 17:10 |
|||
|
||||
filipp76 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
Затык конкретно в строке:
Не могу понять что подставить вместо - table.getSelectedRow() , ведь у меня ничего не выбрано и строк много и разных. |
|||
|
||||
filipp76 |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
В итоге не парился, повесил этот код:
где надо и все работает, только подкрутил немного MyRenderer чтоб он не отличался от остальной части таблицы. Но ! (куда же без него) есть одна странность, я заполняю таблицу и после этого выполняю указанный выше код, при этом ширина строк выставляется совсем не корректная (например строка влазит, а высота раза в 2 больше), но такой же код я повесил в листенер изменения ширины колонки и при этом все идеально !! В чем может быть проблема ? Сравнил что не так, у меня почему-то componentWidth и componentHeight сильно отличаются можно сказать в одинаковых условиях: 1. Я таблице присваиваю TableModel и вызываю выше указанный код, результат в итоге неправильный. 2. Я меняю ширину стобца в уже заполненной таблице, срабатывает листенер MouseReleased в которой вписан выше указанный код и все работает правильно, строки переносятся идеально. Убейте не могу понять в чем разница ( Вот в чем проблема:
Так я присваиваю нужную мне ширину каждого столбца. После этого получаю еще раз ширину столбца:
И вот тут лажа, возвращает значение которое было до моего присваивания, НО на экране все изменяется !! Как сказать ей что она дура (TableColumnModel) и ширина столбцов уже другая ??? Есть тупое решение при установке ширины столбцов дублировать эти данные в глобальную переменную и брать всегда оттуда, но это же тупо ! Это сообщение отредактировал(а) filipp76 - 10.1.2012, 00:57 |
||||||
|
|||||||
filipp76 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 4.4.2007 Где: Украина, Киев Репутация: 1 Всего: 1 |
Нашел в чем проблема, теперь все супер, надо не так:
а так:
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |