我在面板中有兩張桌子。當我點擊某個單元格的第一個表格時,其行將被選中。當我點擊某個單元格的第二個表格時,它的行也被選中了。如何獲取其單元格當前正在被點擊的表格?
現在,我將如何知道哪個表最後被點擊。我在兩個表上都嘗試了isRowSelected
,兩者都返回,所以我無法找到最後一次點擊表?
有人可以幫我嗎?
我在面板中有兩張桌子。當我點擊某個單元格的第一個表格時,其行將被選中。當我點擊某個單元格的第二個表格時,它的行也被選中了。如何獲取其單元格當前正在被點擊的表格?
現在,我將如何知道哪個表最後被點擊。我在兩個表上都嘗試了isRowSelected
,兩者都返回,所以我無法找到最後一次點擊表?
有人可以幫我嗎?
我不知道,如果這必須從MouseListener的或從ListSelectionListener確定,但最簡單的解決方法是相似的:使用不同的監聽器爲每個表:
table1.addXxxListener(new XxxListener() {
// here, you know it's table 1
}
table2.addXxxListener(new XxxListener() {
// here, you know it's table 2
}
另一種方式來做到這一點是檢查事件源:
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的情況下)
有些代碼會有幫助,您是否嘗試過點擊事件? – magodiez