| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > fireTableDataChanged сбрасывает высоту рядов |
| Автор: _Y_ 25.1.2011, 19:00 |
Вот такое явление наблюл. Почему происходит не понимаю
|
| Автор: COVD 25.1.2011, 19:42 |
| fireTableDataChanged() означает, что количество строк в модели тоже возможно поменялось, поэтому предыдущие установки высоты для каждой строки отменяются. Все логично. Придется повторить пункт "Устанавливаю для каждого ряда свое значение высоты методом setRowHeight(row, height)". Или использовать другой fire... |
| Автор: jk1 25.1.2011, 21:41 | ||
| _Y_, Раз Вы устанавливаете разные значения высоты для разных строк, значит высота определяется разными данными в этих строках. А раз так, может быть проще написать соответствующий Renderer для этих данных? Вот тривиальный пример установки высоты по самой высокой ячейке в ряду. Ничего не мешает поместить в него какую-нибудь логику определения высоты исходя из данных в ячейке или номера столбца, или еще чего-нибудь.
|
| Автор: _Y_ 25.1.2011, 22:44 |
| COVD, спасибо. сделал методом fireTableRowsUpdated(0, rows - 1); jk1, этот вариант мне не годится. Тогда все ряды подгоняются под данные. У меня же две категории рядов - внутритабличные заголовки и просто данные. Заголовки уже. Так таблица красивее получается. Спасибо! |
| Автор: jk1 26.1.2011, 11:35 |
| _Y_, Из чистого любопытства: что мешает внутри renderer'a понять что в данный момент мы рисуем заголовок и установить для данной ячейки требуемый размер? |
| Автор: COVD 26.1.2011, 15:03 | ||
Единственный надежный вариант, наверное, это если renderer'ы будут знать номера строк заголовков. И если строки будут разной высоты и это будет задаваться renderer'ами в процессе перерисовки, то, интересно, как себя будет чувствовать механизм скроллинга? Но вообще, для заголовков есть header. "Внутритабличные заголовки" не позволяют делать в таблице сортировку строк, фильтрацию. Таблица должна быть однородна, отображать один тип данных. |