Как настроить 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());

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

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

0 ответов

Другие вопросы по тегам