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


Автор: binaryman 6.11.2009, 16:30
Друзья вот такая проблема. Я создаю таблицу с помощью DefaultTableModel.
Код

model =new DefaultTableModel();
            model.addColumn("№");
            model.addColumn("Назва сортування");
            model.addColumn("кількість алементів");
            model.addColumn("час сортування");


без никаких полей только заголовки
так я объявляю таблицу и панель для ней
Код

    tablepanel = new JPanel();
            tablepanel.setPreferredSize(new Dimension(400,100));
            tablepanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
            table = new JTable(model);
            table.setSize(new Dimension(150,150));
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            JTableHeader jth  = table.getTableHeader();
            
            int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
            int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
            JScrollPane scrollPane = new JScrollPane(table,v,h);
            tablepanel.add(scrollPane,BorderLayout.CENTER);
            
            tablepanel.add(jth);
            tablepanel.add(table);

при натиснені на кнопку я використовую метод  model.addRow(add);

поля добавляются но когда их становится больше они выходят за пределы рамки и не появляется полоса прокрутки!! 

Очень прошу помогите! smile 

Автор: COVD 6.11.2009, 16:35
Таблицу обычно кладут в JScrollPane, т.е. вместо 
Код

tablepanel.add(table); 

очевидно, надо
Код

scrollPane.add(table);  

Зачем заголовки таблицы кладутся в панель ( tablepanel.add(jth); ) отдельно от таблицы  smile 

Автор: binaryman 6.11.2009, 16:50
не помогает я тогда общем не вижу добавлены поля

Автор: COVD 6.11.2009, 17:21
тогда лучше взять за основу работающий пример из учебника (или интернета) и модифицировать.

Автор: binaryman 7.11.2009, 20:49
кто может показать пример Jpanel с JScrollPanel! smile 

Автор: binaryman 8.11.2009, 14:45
у меня так получилось!
Код

Box box =new Box(BoxLayout.Y_AXIS);
            box.setPreferredSize(new Dimension(400,100));
            table = new JTable(model);
            box.add(new JScrollPane(table));
            frame.add(box);



тема закрыта

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