Вам нужно взглянуть на TableCellRenderer
и TableCellEditor
:
A TableCellRenderer
отвечает за визуализацию данных ячейки, когда она нередактируемый, где TableCellEditor
отвечает за предоставление компонента, используемого для редактирования значения ячейки.Таким образом, вы можете представлять данные двумя разными способами в зависимости от того, редактируются они или просто отображаются в соответствии с нормой.
Однако следует учитывать, что если вы возвращаете логический тип из метода getValueAt (), ваш JTableдолжен автоматически отображать JCheckBox, когда ячейка находится в режиме редактирования, значение JCheckBox можно изменить, щелкнув по нему, как обычно.Для этого просто верните:
case ACTIVATED_INDEX:
return Boolean.valueOf(user.getActivated());