JTable пример
Как сделать таблицу нередактируемой?
В классе модели таблицы нужно переопределить метод isCellEditable:
Как разрешить выделять ряд?
Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается весь ряд:
Получаем: 
Выделен весь ряд.
Как разрешить выделять колонку?
Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается вся колонка, которой принадлежит ячейка:
Получаем: 
Выделена вся колонка.
Как разрешить выделять ячейку?
Когда пользователь устанавливает курсор на ячейку таблицы, подсвечивается только она, а не весь ряд или колонка:
Получаем: 
Выделена только одна ячейка.
Как в JTable запретить перемещать колонки?
Пользователь может перемещать колонки, удерживая их левой кнопкой за заголовок. Запретить перемещение можно так:
Как в JTable программно переместить колонки?
Поменяем местами колонки “Количество” и “Склад” в таблице из примера в разделе “Как в JTable скопировать строку?”:
Результат: 
вот такой.