2016-12-15 5 views
1

У меня есть вид в моем проекте java, который должен изменить размер таблицы. У меня есть n номер Jtables внутри a JScrollPane. Некоторые из них не имеют достаточного количества строк, чтобы заполнить общий размер таблицы. Лучшее решение, я думаю, было бы изменить размер таблицы, чтобы заполнить количество строк, которые были выделены.
Изменить размер Jtable Вертикально на основе его содержимого

1) Таблица имеет размер 4x4, но если не хватает строк (т. Е. Меньше 4), у него будет пробел, который я не хочу.

Поскольку эта таблица является статической и не будет изменена, как можно изменить размер этой таблицы программно на основе количества строк, которые она будет иметь, например, 1, 2 или только 3 строки и не иметь этого пробела?

PS: Я знаю, сколько строк у него будет, я просто не знаю, как программно изменять размер таблицы во время выполнения.

TableModel

+1

Чтобы получить лучшую помощь, пожалуйста, отправьте действительное [mcve] – Frakcool

+0

Вы получили его? – ItamarG3

+0

@ItamarGreen Он работает, но с разрывом. –

ответ

0

Чтобы сделать JTable растягиваться, чтобы соответствовать высоте зрения, можно назвать:

table.setFillsViewportHeight(true); 

из javadoc:

Устанавливает, будет ли эта таблица всегда делаются достаточно большими, чтобы заполнить высоту закрывающего окна просмотра.

+0

Он работает только в том случае, если таблица слишком мала, это не помогает установить, слишком ли велика таблица и слишком мало строк. –

2

Поскольку эта таблица является статической и не будет изменена, как я могу изменить размер этой таблицы программно на основе количества строк, которые он будет иметь,

После добавления всех данных в стол можно использовать:

table.setPreferredScrollableViewportSize(table.getPreferredSize()); 

Затем, когда таблица будет добавлена ​​в панель прокрутки размера панели скроллинга будет предпочтительным размером таблицы.