gpt4 book ai didi

java - 为多个 JPanel 注册 1 个 mouseDragged 事件

转载 作者:行者123 更新时间:2023-12-02 00:08:59 25 4
gpt4 key购买 nike

我有一个主 JPanel,其顶部有两个其他 JPanel(面板 A 和面板 B),如下图所示:

enter image description here

我想跟踪这些 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) {

}
});

有没有一种方法可以通过仅注册 1 个监听器而不是像上面那样注册 3 个监听器来跟踪所有 3 个 JPanel 的 mouseDragged 事件?谢谢

最佳答案

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);

关于java - 为多个 JPanel 注册 1 个 mouseDragged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com