Как обновить JTable с векторами - PullRequest
0 голосов
/ 29 марта 2011

Я был озадачен этим довольно давно. Я понимаю, что вы используете модель таблицы, чтобы обновить фактическую таблицу новыми значениями, однако я не могу заставить ее работать. Я добавил tablemodellistener в мою форму и у меня есть метод tableChanged. Однако я не могу понять, почему метод tableChanged не вызывается при вставке в таблицу.

public void tableChanged(TableModelEvent e) {

    int row = e.getFirstRow();
    int column = e.getColumn();
    DefaultTableModel model = (DefaultTableModel)e.getSource();
   // String columnName = model.getColumnName(column);
    //Object data_1 = model.getValueAt(row, column);

    //model.fireTableCellUpdated(row, column);
    //model.fireTableDataChanged();
    //customerTable.repaint();


}

Могу ли я полностью перестроить таблицу, если нажму кнопку обновления в моей форме? Будет ли это вообще возможно? Если нет, нужно ли мне вызывать метод tableChanged из метода, выполняемого действием кнопки обновления, для его запуска? Я застрял в этом довольно давно, и я просто хотел бы выяснить это в интересах обучения.

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Я считаю, что вам нужно вручную добавить вашу таблицу в качестве прослушивателя таблицы TableModel.

0 голосов
/ 29 марта 2011

Если у вас есть опция и она соответствует вашим потребностям, я бы порекомендовал взглянуть на GlazedLists .Тогда вам не придется беспокоиться об обновлении моделей таблиц - все это обрабатывается за вас.

Вот переход к соответствующей части учебника GlazedLists .

...