更新可编辑的表模型

时间:2012-03-24 23:01:14

标签: java swing jtable defaulttablemodel

我在更新可编辑的JTable时遇到了一些问题。

我已经实现了TableModelListener,每次用户在单元格中编辑时都会调用它。

当我想从其他类更新表时会出现问题,它会引发异常错误。

要更新表我都尝试使用fireTableDataChanged()和setVector(),没有任何运气。 - 我想由于在更新表时调用了addTableModelListener,因此引发了异常。

更新代码如下所示:

String[] columnHeaderEditUser = frame.getAdminPanel().getAdminEditUser().columnHeaders;
frame.getAdminPanel().getAdminEditUser().getModel().setDataVector(
    frame.getModelClass().getLeaderboard(),columnHeaderEditUser);

我的表格如下:

public void addTable() {

    JTable table = new JTable();
    table.setModel(model = new DefaultTableModel(
        ac.getFrame().getModelClass().getAccountsRows(), columnHeaders) {

        Class[] columnTypes = new Class[]{
            String.class, String.class, Integer.class //kolonne datatyper
        };

        public Class getColumnClass(int columnIndex) {
            return columnTypes[columnIndex];
        }
        boolean[] columnEditables = new boolean[]{
            false, false, false
        };

        public boolean isCellEditable(int row, int column) {
            return columnEditables[column];
        }
    });
    table.getTableHeader().setReorderingAllowed(false);
    table.setBounds(35, 64, 450, 182);
}

0 个答案:

没有答案