Java 鼠标侦听器捕捉不到按下/单击的鼠标

Java 鼠标侦听器捕捉不到按下/单击的鼠标,java,actionlistener,mouselistener,Java,Actionlistener,Mouselistener,好吧,我不确定为什么我的MouseListener不能工作,但我想可能是因为我在类中实现了ActionListener和MouseListener。这会导致类出现问题吗 执行的操作方法: public void actionPerformed(ActionEvent e){... ... } public void mouseClicked(MouseEvent arg0) { ... } 鼠标单击方法: public void actionPerformed(Actio

好吧,我不确定为什么我的MouseListener不能工作,但我想可能是因为我在类中实现了
ActionListener
MouseListener
。这会导致类出现问题吗

执行的操作方法:

public void actionPerformed(ActionEvent e){...
      ...
}
public void mouseClicked(MouseEvent arg0) {
    ...
}
鼠标单击方法:

public void actionPerformed(ActionEvent e){...
      ...
}
public void mouseClicked(MouseEvent arg0) {
    ...
}
是不是因为它只听actionPerformed方法,而从不进入MouseListener?如果我的猜测是正确的,我将如何让它一起工作

编辑:我已经把范围缩小到鼠标听筒出了问题。它从未从鼠标获得任何输入,我是否必须指定它应该侦听的区域?

public void mousePressed(MouseEvent arg0) {
        System.out.println("Inside timer is running");

        if(timer.isRunning() == true){
            System.out.println("Inside timer is running");
            Point p = arg0.getPoint();
        }
}
你问:

我不确定为什么我的MouseListener不能工作,但我想可能是因为我在类中实现了ActionListener和MouseListener。这会导致类出现问题吗

不,这应该不会影响任何事情。您的问题很可能存在于未显示的代码中的其他地方

说到这里,我想补充一点,我的GUI类中几乎没有一个实现这些或其他侦听器接口,因为我觉得这会要求类承担太多的责任,使得现在调试或以后升级更加困难。相反,我更喜欢调用控制方法的匿名内部类,或者完全独立的控制/侦听器类


编辑
我认为你发布的代码和文本不足以让我们充分理解你的问题来回答它,而只是说问题在别处。如果你没有得到一个体面的答案很快,考虑创建和发布一个.<
编辑2
您在评论中声明:

我不认为我可以发布更多的代码来清除它,因为这是一个巨大的程序。光是这门课就有300行,但我知道其他的都能用,只是鼠标听写器不能正常工作

下一步该怎么做取决于您,但如果这是我的代码,并且我遇到了这些问题,我会做更多的工作来尝试隔离问题,包括重构我的代码,以便最终找到重现问题的最小关键代码。在调试阶段,您可能来得太早,迫使您发布“假设”场景,让我们耸耸肩说“谁知道”


编辑3
你问:

我必须指定它应该监听的区域吗


您必须指定要侦听的组件。鼠标侦听器侦听组件。但同样,这只不过是“假设”和“谁知道”…

有道理,我会记住这一点。然而,我只问了这个问题,不知道为什么会发生这种情况,因为它似乎从来没有进入鼠标点击的鼠标听者。我在里面放了一个println,但它永远不会打印。@user2318083:同样,根据您目前提供的信息,我能说的是,您的代码中有一个bug,您还没有向我们展示。这是目前所有人都能说的。考虑创建和发布一个.OK,所以我使用了<代码> ActuistListabue/Cux>并运行了<代码> MouseListener <代码>,因为我确信问题在这里面。我有
mousePressed()
方法,它不会打印其中的任何内容。是因为我没有向它显示它应该听的区域吗?@user2318083:我仍然认为你发布的代码和文本不足以让我们理解你的问题,从而回答它,而只是说问题在别处。如果你没有得到一个体面的答案很快,考虑创建和张贴。请。@user2318083:请参见编辑2和编辑3。