0

次の図に示すように、メイン JPanel の上に他の 2 つの JPanel (パネル A とパネル B) があります。

ここに画像の説明を入力

これらの JPanel で mouseDragged イベントを追跡したいのですが、現時点では、3 つの JPanel すべてについて追跡しています。

mainPanel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
    public void mouseDragged(java.awt.event.MouseEvent evt) {

    }
});

panelA.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
    public void mouseDragged(java.awt.event.MouseEvent evt) {

    }
});

panelB.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
    public void mouseDragged(java.awt.event.MouseEvent evt) {

    }
});

上記のように 3 つではなく 1 つのリスナーを登録することで、3 つの JPanel すべての mouseDragged イベントを追跡する方法はありますか? ありがとうございました

4

1 に答える 1

3
class MyMouseMotionListener implements MouseMotionListener{
    public void mouseDragged(java.awt.event.MouseEvent evt) {

    }
}

...

MouseMotionListener myListener = new MyMouseMotionListener();

mainPanel.addMouseMotionListener(myListener);
panelA.addMouseMotionListener(myListener);
panelB.addMouseMotionListener(myListener);
于 2012-11-06T15:27:28.373 に答える