2012-02-26 47 views
2

我有两个JTable中摆满了一个JPanel数据。用户正试图通过选择该行并单击“删除”按钮来从其中一个表中删除一行。对我来说,问题是如何找出哪两个JTable中都集中在最后一个(用户可以在表1表2中单击列然后排,然后“删除”,我想从表2中删除行之一)。我会看到它,也许是这样的:的Java JTable中SelectionListener中

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

有谁知道我怎么能解决这个问题?如果你可以提供一些示例代码,请不胜感激。

+0

听起来像一个非常脆弱的设置 - 如果点击没有改变选择?其实,最后到了 - 被 - 点击上很难与任何通知安全地实现整个概念:对焦可能会稍微好一点。无论如何,你需要明确地告诉用户他/她将要从哪个表中删除f.i.通过更改按钮的文本或使用表中的特殊高亮颜色或其他... – kleopatra 2012-02-27 09:16:49

回答

5

您可以使用您收到制定的表生成事件的事件“的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"); 
    } 
}