Все, что мне действительно нужно, это функция для
вызываться, когда установлен флажок
Если флажок установлен, то значение в модели будет изменено, что, вероятно, не то, что вы хотите. Я думаю, что вы хотите предотвратить проверку флажка в первую очередь.
Чтобы запретить редактирование ячейки, нужно переопределить метод isCellEditable (...) JTable. Переопределив этот метод, вы можете динамически определять, должна ли ячейка редактироваться или нет.
JTable table = new JTable( ... )
{
public boolean isCellEditable(int row, int column)
{
int modelColumn = convertColumnIndexToModel( column );
if (modelColumn == yourBooleanColumn)
return isTheBooleanForThisRowEditable(row);
else
return super.isCellEditable(row, column);
}
};
И причудливее всего было бы создать пользовательский рендер, чтобы флажок выглядел «отключенным» даже до того, как пользователь попытается щелкнуть ячейку. Смотрите ссылку, предоставленную trashgod на рендереры.