如何禁用或设置最后选择的 JTable 元素?

How to either disable or set the last-selected JTable element?

查看 JTable 后 API 我没有看到任何相关信息,但我真的不知道要查找什么,无论如何请看一下这张图片:

查看“状态”列中的 "Failed" 周围有一个蓝色轮廓,表示最近一次 selected/the 鼠标在用户停止拖动时悬停在它上面。我希望能够:1) 不允许 JTable 有一个最后选择的元素或 2) 能够自己设置它。我该怎么做?

如果有帮助,我想要其中任何一个的原因是我正在刷新 table,这意味着我需要重新应用选定的行,但是当我这样做时,这是最后选择的元素迷路了。

编辑: 实际上,我真的宁愿禁止 JTable 具有所谓的 "lead selection index",我该怎么做?

该单元格指示哪个单元格具有焦点,如以下方法所示:

int row = table.getSelectedRow();
int column = table.getSelectedColumn();

I want to either be able to set it myself

您可以使用如下代码设置选定的单元格和选定的行:

table.changeSelection(6, 2, false, false);
ListSelectionModel lsm = table.getSelectionModel();
lsm.setSelectionInterval(3, 6);

ListSelectionModel lsm = table.getSelectionModel();
lsm.setSelectionInterval(3, 6);
table.changeSelection(6, 2, false, true);

编辑:

您似乎需要从适当的选择模型中获取 row/column:

int row = table.getSelectionModel().getLeadSelectionIndex();
int column = table.getColumnModel().getSelectionModel().getLeadSelectionIndex();