Um komplett zu verhindern, dass eine einzelne Zelle in einer Tabelle editiert werden kann, kann man einfach die Methode isCellEditable des TableModels überschreiben.
DefaultTableModel tableModel = new DefaultTableModel() { @Override public boolean isCellEditable(int row, int column) { return false; } };
DefaultTableModel tableModel = new DefaultTableModel() { @Override public boolean isCellEditable(int row, int column) { return column == 1; } };