gpt4 book ai didi

java - 取消选择 JTable 的行

转载 作者:行者123 更新时间:2023-12-01 09:37:08 24 4
gpt4 key购买 nike

我的屏幕上有 7 个表格。由于它们是独立的表格,因此我可以从每个表格中选择一个单元格。

虽然我希望每次选择表格中的单元格时,我都希望从之前选择的单元格的表格中取消选择单元格,因此也可以取消选择其他表格中的单元格。

基本上我想一次从一个表中选择一个单元格。

此外,每当单击屏幕上的任意位置鼠标时,我都希望取消选择所选单元格。

我尝试过 clearselection(),但它似乎不起作用。

最佳答案

创建 TableGroup执行SINGLE_SELECTION横跨一组 table ,每个 table 都有自己的 ListSelectionModel 。下面的示例包含 List<JTable>可以管理任意数量的表的选择。

用法:

SelectionGroup group = new SelectionGroup();
group.add(new JTable(…));
group.add(new JTable(…));

代码:

private static class TableGroup {

private final List<JTable> list = new ArrayList<>();

private void add(JTable table) {
list.add(table);
ListSelectionModel model = table.getSelectionModel();
model.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
model.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) {
for (JTable t : list) {
if (!t.equals(table)) {
t.clearSelection();
}
}
}
}
});
}
}

TableGroup在概念上类似于 ButtonGroup ,见过herehere .

关于java - 取消选择 JTable 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38795281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com