0

パネルに 2 つのテーブルがあります。あるセルの最初のテーブルをクリックすると、その行が選択されます。また、あるセルの 2 番目のテーブルをクリックすると、その行も選択されます。

さて、どのテーブルが最後にクリックされたかを知るにはどうすればよいでしょうか。両方のテーブルで試してみましisRowSelectedたが、両方とも戻ってきたので、最後にクリックしたテーブルを見つけることができませんか?

誰か助けてくれませんか?

4

3 に答える 3

2

あなたはどのように読む必要があります

作品、

両方の概念を理解する必要があります。簡単な例はこちら、別の例はこちら

于 2012-06-04T12:47:40.827 に答える
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
}
于 2012-06-04T12:48:17.310 に答える
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 を設定していない場合)。

于 2012-06-04T13:43:21.990 に答える