我有两个JTable,它们填充了JPanel上的数据。用户试图通过选择表中的某一行并单击“删除”按钮来删除该行。对我来说,问题是如何找出两个JTable中的哪个是最后一个(用户可以单击表1中的行,然后单击表2中的行,然后单击“删除”,然后我要从表2中删除行)。我可能会这样看:

个表中添加了ListSelectionListener,当选择了一行时,该事件会触发事件valueChanged,但是现在我必须以某种方式通知包含这两个表的组件,其中最后一个被选中

有谁知道我该怎么解决?如果您能提供一些示例代码,将不胜感激。

最佳答案

您可以使用接收到的事件的'getSource'方法来确定哪个表生成了该事件。例如,

public void valueChanged(ListSelectionEvent e) {
    if (e.getSource() == jTable1.getSelectionModel()) {
      System.out.println("Event occurred in table 1");
    } else if (e.getSource() == jTable2.getSelectionModel()) {
      System.out.println("Event occurred in for table 2");
    }
}

10-05 23:15