Хорошо. Я нашел путь. Не самый чистый, но он работает.
Если размер JTable определяется другим контейнером (в моем случае это был JPanel), идея состоит в том, чтобы рассчитать высоту панели на основе JTable.getRowCount ().
так что это был простой случай установки что-то вроде этого:
if (table.getRowCount() > 0 && table.getRowCount()<5){
lineJPanel.setMaximumSize(new Dimension(32500, 70+table.getRowCount()*table.getRowHeight()));
}else{
lineJPanel.setMaximumSize(new Dimension(32500, 200));
}