Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление данных в таблице / 10 сообщений из 10, страница 1 из 1
01.03.2012, 15:57:20
    #37686606
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
Как равильно обновить таблицу?
я создаю новый экземпляр MyModel который расширяет AbstractTableModel заполняю его своим Object[][] массивомм
и устанавливаю setmodel(myModel) и ничего не происходит
причем заголовок таблицы рисуется правильно а вот данные нет
...
Рейтинг: 0 / 0
01.03.2012, 16:15:56
    #37686662
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
вы данные заполняете до setModel. Кроме заголовка, что рисуется? Пустой грид? Или вообще без строк?
...
Рейтинг: 0 / 0
01.03.2012, 16:17:30
    #37686666
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
да данные заполняются до setModel
потом когда данные обновляются я создаю новый md = new MyModel()
и jtable2.setModel(md) и никакого обновления
...
Рейтинг: 0 / 0
01.03.2012, 16:18:56
    #37686670
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
llemingда данные заполняются до setModel
потом когда данные обновляются я создаю новый md = new MyModel()
и jtable2.setModel(md) и никакого обновления

Кроме заголовка, что рисуется? Пустой грид? Или вообще без строк?
...
Рейтинг: 0 / 0
01.03.2012, 16:19:18
    #37686673
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
пустой грид
...
Рейтинг: 0 / 0
01.03.2012, 16:22:07
    #37686683
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
llemingпустой грид
количество строк совпадает с вашим массивом?
...
Рейтинг: 0 / 0
01.03.2012, 16:24:54
    #37686689
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.volgainter;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JTable;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;

/**
 *
 * @author HP
 */
public class DocsToPrintTable extends JTable {

    private static DocsToPrintTable instance = null;
    private PrintSequenceManager printSeq = PrintSequenceManager.getPrintSequencemanager();
    private int selectedRow;
    private DocsToPrintTable() {
        super();
        initTable();
    }

    private void rowSelected() {
        selectedRow = this.getSelectedRow();
        printSeq.addDocument((String) getValueAt(selectedRow, 0));
    }

    private void initTable() {
        selectedRow = -1;
        getSelectionModel().addListSelectionListener(new RowListener());
        ArrayList<String> s = new ArrayList<String>();
        s.add("hello");
        this.setModel(new MyModel(s));
    }

    public void setNewModel(String filePath) {
        filePath = SettingsProvider.DIRECTORY + "/" + filePath;
        FileListDispatcher fList = new FileListDispatcher();
        fList.traverse(filePath);
        List<String> list = fList.getAllPdfFiles();
        MyModel model = new MyModel(list);
        setModel(model);
    }

    public static DocsToPrintTable getInstance() {
        if (instance == null) {
            return new DocsToPrintTable();
        }
        return instance;
    }

    private class RowListener implements ListSelectionListener {

        @Override
        public void valueChanged(ListSelectionEvent e) {
            rowSelected();
            System.out.println("You select row");
        }
    }

    private class MyModel extends AbstractTableModel{

        private List<String> aNames;
        
        public MyModel(List<String> fileNames) {
            super();
            aNames = fileNames;
        }

        @Override
        public String getColumnName(int column) {
            return "Список pdf файлов";
        }
        
        
        
        @Override
        public int getRowCount() {
            return aNames.size();
        }

        @Override
        public int getColumnCount() {
            return 1;
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            return aNames.get(rowIndex);
        }
        
    }
}
...
Рейтинг: 0 / 0
01.03.2012, 16:38:58
    #37686731
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
Странно. На первый взгляд всё ОК. Дебажить пробовали?
Можно ещё вместо пересоздания модели, добавить метод, который бы заменял список в модели. А в том методе использовать fireTableDataChanged()
...
Рейтинг: 0 / 0
01.03.2012, 16:46:15
    #37686747
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
BlazkowiczСтранно. На первый взгляд всё ОК. Дебажить пробовали?
Можно ещё вместо пересоздания модели, добавить метод, который бы заменял список в модели. А в том методе использовать fireTableDataChanged()

второе то же пробовал все одно
...
Рейтинг: 0 / 0
04.03.2012, 00:36:09
    #37690112
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление данных в таблице
BlazkowiczСтранно. На первый взгляд всё ОК. Дебажить пробовали?
Можно ещё вместо пересоздания модели, добавить метод, который бы заменял список в модели. А в том методе использовать fireTableDataChanged()

видимо лэйоут нетбиновский что то портит. копать не стал сделал вмето наследования встроеный в JTable класс и определил требуемые методыё чтото вроде прокси получилось но рисуется вве правильно/


спасибо
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление данных в таблице / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]