java JTable不带CTRL键的多选
我试图更改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);
}
}
}
});
这似乎毫无作用。谁能告诉我有什么问题吗
谢谢
# 1 楼答案
您可以创建一个自定义
ListSelectionModel
简单的例子:
该示例适用于JList,但JTable也使用ListSelectionModel