fixedTable.setColumnModel(table.getColumnModel());
The problem lies in that line. If you comment it out the Table behaves normally. If that breaks your code (As I don't know what you want to do exactly) just comment.
But as you added in your comment, you want to sync the two tables. I found a forum thread that covers exactly that problem:
http://forums.sun.com/thread.jspa?threadID=713021
Have fun!
P.S.: Just in case the forum thread vanishes (Just copied the text):
First hook up the tables. Had to share the ColumnModel otherwise it did not work. The panels both have a JTable field and the set and get ColumnModel methods delegate to the
JTable.
infoPanel.setColumnModel(overviewPanel.getColumnModel());
overviewPanel.getColumnModel().addColumnModelListener(infoPanel);
infoPanel.getColumnModel().addColumnModelListener(overviewPanel);
Then handle the ChangeEvent:
public void columnMarginChanged(ChangeEvent event) {
final TableColumnModel eventModel = (DefaultTableColumnModel)event.getSource();
final TableColumnModel thisModel = getTable().getColumnModel();
final int columnCount = eventModel.getColumnCount();
for (int i = 0; i < columnCount; i++) {
thisModel.getColumn(i).setWidth(eventModel.getColumn(i).getWidth());
}
repaint();
}