Как настроить JScrollPane на основе размера JTable?
У меня есть таблица, которая отображает список классов, и все отлично работает, кроме ее форматирования внутри панели прокрутки. Вот что у меня сейчас есть для этого.
String[] columns = {"Class","Period","Size", "Honors/AP"};
JTable classTable = new JTable(new DefaultTableModel(new Object[][] {}, columns));
DefaultTableModel model = (DefaultTableModel)classTable.getModel();
//populating the table based on the number of classes that the teacher has
for (Class c: t.getClasses()) {
model.addRow(new Object[]{c.getClassName(),c.getPeriod(),c.getSize(),c.isHonorsAP()});
}
if (classTable.getRowCount()==0)
model.addRow(new Object[]{});
JScrollPane scrollPane = new JScrollPane(classTable);
classTable.setPreferredSize(new Dimension(700,100));
classTable.setPreferredScrollableViewportSize(classTable.getPreferredSize());
classTable.setFillsViewportHeight(true);
if (classTable.getPreferredSize().getHeight() < scrollPane.getPreferredSize().getHeight())
scrollPane.setPreferredSize(classTable.getPreferredSize());
Таким образом, проблема на одном конце состоит в том, что, когда не хватает строк, чтобы заполнить предпочтительный размер таблицы, это оставляет дополнительное пространство внизу, и я пытаюсь удалить это.
А затем на другом конце, когда есть больше строк, которые могут поместиться, мне нужен размер, чтобы остаться, но добавить в полосу прокрутки. Я действительно смущен прямо сейчас. Любая помощь будет принята с благодарностью