Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JPanel, JTable и JScrollPane


Автор: klaq 12.4.2010, 17:39
Возникла проблема: динамически создается таблица jTable в панели jPanel исходя из заданного количества строк/столбцов. Все хорошо, однако скроллинг почему-то не пашет. Листинг упрощенного варианта:
Код

    private void CreateTable(JPanel Panel) {
        Panel.removeAll();
        Panel.setLayout(new BorderLayout());
        DefaultTableModel tabModel=new DefaultTableModel();
        tabModel.setColumnCount(25);
        tabModel.setRowCount(25);
        JTable table = new JTable(tabModel);

        JScrollPane scrollPane = new JScrollPane(table);
        table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
        scrollPane.setViewportView(table);
        table.setRowSelectionAllowed(false);
        table.setBorder(BorderFactory.createEtchedBorder());
        Panel.add(table);
        Panel.revalidate();
    }

Вроде все сделал, а не работает. Подскажите... smile 
P.S. Да, всю графику, а именно панель, лепил в Нетбинсе дизайнером

Автор: jk1 13.4.2010, 12:40
Дело в том, что вы добавляете на панель не тот компонент, который нужно. Вместо
Код

Panel.add(table);

нужно писать
Код

Panel.add(scrollPane);

тогда появляется scroll.

Автор: klaq 13.4.2010, 12:55
jk1, спасибо! Все заработало, просто оказывается ScrollPane является контейнером для Table, а не наоборот. Вопрос решен)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)