2012-06-04 30 views
0

我在面板中有兩張桌子。當我點擊某個單元格的第一個表格時,其行將被選中。當我點擊某個單元格的第二個表格時,它的行也被選中了。如何獲取其單元格當前正在被點擊的表格?

現在,我將如何知道哪個表最後被點擊。我在兩個表上都嘗試了isRowSelected,兩者都返回,所以我無法找到最後一次點擊表?

有人可以幫我嗎?

+0

有些代碼會有幫助,您是否嘗試過點擊事件? – magodiez

回答

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 
} 
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的情況下)

相關問題