У меня есть таблица с фиксированным содержимым, которая, я знаю, никогда не будет пустой.
Я хотел бы использовать ее в качестве переключателя (условно говоря): я хочу всегда выбирать одну и только одну строку ввремя.
Я уже знаю, что могу установить модель выбора на SINGLE_SELECTION
, но (довольно неожиданно) это, кажется, не мешает пользователю отменить выбор всех строк в таблице.
Есть липростой способ запретить пользователю отменять выбор всех строк в таблице?
Я могу думать только о чем-то вроде:
@Override
public void valueChanged(ListSelectionEvent listSelectionEvent) {
if (!listSelectionEvent.getValueIsAdjusting() && table.getSelectedRow() == -1) {
table.selectRow(0);
}
}
, но, честно говоря, это кажется слишком неуклюжим для такогопростая задача (и мне нужно запомнить старый выбор, чтобы лучше реализовать шаблон) ...
Есть ли более простой / более элегантный способ?
Спасибо!