public class MyDefaultTableModel extends DefaultTableModel { private String[] columnNames; private int numberColumn; private Object[][] tableData; public MyDefaultTableModel(String[] p_columnNames, object[][] p_data) { columnNames = p_columnNames; tableData = p_data; } public void updateTableData(Object[][] p_data) { tableData = p_data; fireTableStructureChanged(); } public int getColumnCount() { return columnNames.length; } public String getColumnName(int col) { return columnNames[col]; } public int getRowCount() { if (tableData != null) return tableData.length; else return 0; } public Object getValueAt(int row, int col) { return tableData[row][col]; } public boolean isCellEditable(int row, int col) { return false; } public void setValueAt(Object value, int row, int col) { tableData[row][col] = value; fireTableCellUpdated(row, col); } }