JTable на примерах 3

JTable пример

Как сделать таблицу нередактируемой?

В классе модели таблицы нужно переопределить метод isCellEditable:

Как разрешить выделять ряд?

Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается весь ряд:

table.setColumnSelectionAllowed(false);
table.setRowSelectionAllowed(true);

Получаем: Как разрешить выделять ряд

Выделен весь ряд.

Как разрешить выделять колонку?

Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается вся колонка, которой принадлежит ячейка:

table.setColumnSelectionAllowed(true);
table.setRowSelectionAllowed(false);

Получаем: Как разрешить выделять колонку

Выделена вся колонка.

Как разрешить выделять ячейку?

Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается только она, а не весь ряд или колонка:

table.setColumnSelectionAllowed(true);
table.setRowSelectionAllowed(true);

Получаем: Как разрешить выделять ячейку

Выделена только одна ячейка.

Как в JTable запретить перемещать колонки?

Пользователь может перемещать колонки, удерживая их левой кнопкой за заголовок. Запретить перемещение можно так:

table.getTableHeader().setReorderingAllowed(false);

Как в JTable программно переместить колонки?

Поменяем местами колонки “Количество” и “Склад” в таблице из примера в разделе “Как в JTable скопировать строку?”:

table.moveColumn(3, 2);

Результат: Как в JTable запретить перемещать колонки

вот такой.