【发布时间】:2016-09-17 22:46:17
【问题描述】:
我正在尝试更改 JTable 的选择行为,以便能够在不使用 CTRL 修饰符的情况下向选择中添加和删除行。方法:
public void changeSelection(int rowIndex,
int columnIndex,
boolean toggle,
boolean extend)
似乎正是我正在寻找的东西,尤其是这种情况:
toggle: true, extend: false. If the specified cell is selected, deselect it. If it is not selected, select it.
是我的意思。问题是我不能让它工作。也许我遗漏了一些关于内部 JTable 工作的信息,但这是我的代码:
initComponents();
mainTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
mainTable.setRowSelectionAllowed(true);
mainTable.setSelectionModel(new DefaultListSelectionModel() {
@Override
public void addSelectionInterval(int index0, int index1) {
if (index0 == index1) {
for (int i = 0; i < mainTable.getColumnModel().getColumnCount(); i++) {
mainTable.changeSelection(index0, i, true, false);
}
}
}
});
这似乎什么也没做。谁能告诉我这是什么问题?
谢谢。
【问题讨论】: