JTable wewnątrz JScrollPane: najlepsza wysokość, aby wyłączyć paski przewijania

Do tworzenia używam następującego koduJTable wewnątrzJScrollPane aby wyświetlić nagłówki kolumn

JTable nie pokaże nagłówków kolumn

String[] columnNames = {"header1", "header2", "header2", "header3"};
Object[][] data = new Object[num][4];
//feed values into data using for

JTable chart = new JTable(data, columnNames);
chart.setShowVerticalLines(false);
chart.setEnabled(false);
chart.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

JScrollPane sp = new JScrollPane(chart);
sp.setPreferredSize(new Dimension(width, chart.getHeight() + 5));
panel.add(sp);

Problem polega na tym, że muszę obliczyć awysokość dlaJScrollPane więc całaJTable może być widoczny iJScrollBars się nie pojawią. Jak mogę to zrobić?

num zmienia się z 2 na 4, a jeśli jest 4, pojawiają się paski przewijania.width jest naprawiony.

questionAnswers(3)

yourAnswerToTheQuestion