2012-02-26 53 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"); 
    } 
}