我现在有一张表,它显示了一个类列表,除了在滚动窗格内部格式化之外,一切正常。这就是我现在所拥有的。
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());
所以一方面的问题是,当没有足够的行来填充表格的首选大小时,它会在底部留下额外的空间,我试图将其删除。
然后在另一端,当有更多行可以适应时,我需要保留大小但添加滚动条。 我现在真的很困惑。任何帮助将不胜感激