我在面板中有两张桌子。当我点击某个单元格上的第一个表格时,它的行被选中。当我点击某个单元格上的第二个表格时,它的行也会被选中。
现在,我将如何知道,最后点击了哪个表格。我在两个表上尝试使用isRowSelected
,两个都返回,所以我无法找到最后点击的表格?
有人能帮助我吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
我不知道这是否必须从MouseListener或ListSelectionListener确定,但最简单的解决方案是类似的:为每个表使用不同的侦听器:
table1.addXxxListener(new XxxListener() {
// here, you know it's table 1
}
table2.addXxxListener(new XxxListener() {
// here, you know it's table 2
}
答案 2 :(得分:1)
另一种方法是检查事件的来源:
new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
if (e.getSource()==table1.getSelectionModel()) {
// Event comes from table1
} else if (e.getSource()==table2.getSelectionModel()) {
// Event comes from table2
}
}
}
当然,当且仅当选择模型由单个表使用时才会出现(如果您没有设置自己的ListSelectionModel就是这种情况)