我有JTSe与ListSelectionModel.MULTIPLE_INTERVAL_SELECTION:
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
当我使用CTRL +鼠标单击时,选择行并且所有行都是正确的。但是,如果我只想取消选择一个选定的行并按CTRL +鼠标单击一个选定的行,则取消选择所有行,而不是一个。然后,如果我按CTRL +鼠标再次单击某一行,再次选择previouse行,但没有行,我想取消选择。 我想使用CTRL +鼠标单击取消选择一行。我怎样才能做到这一点?
编辑: 我的代码中有这个:
table.getColumnModel().setColumnSelectionAllowed(true);
我发现如果我删除这一行,那么一切正常。但是JTable可以正常工作,尽管ColumnSelectionAllowed'是真的?
答案 0 :(得分:0)
在 clearSelection
上尝试方法 JTable
。
通过调用 clearSelection on the ListSelectionModel
答案 1 :(得分:0)
如果您正在寻找许多人取消选择的一行,请使用以下代码:
table.getSelectionModel().removeSelectionInterval(rowFrom, rowTo);
取消选择一行:
table.getSelectionModel().removeSelectionInterval(row, row);
你可以使用多个这样的选择
table.getSelectionModel().removeSelectionInterval(1, 3); //1,2,3 starting from 0
table.getSelectionModel().removeSelectionInterval(5, 5); //5
将其添加回来,请使用:
table.getSelectionModel().addSelectionInterval(rowFrom, rowTo);
你可以使用多个这样的选择
table.getSelectionModel().addSelectionInterval(1, 2); //1,2
table.getSelectionModel().addSelectionInterval(4, 4); //4
将其设置为特定范围,这将首先清除旧选择,
table.getSelectionModel().addSelectionInterval(rowFrom, rowTo);
它等于:
table.clearSelection();
table.getSelectionModel().addSelectionInterval(rowFrom, rowTo);