Java MouseListener没有';行不通

Java MouseListener没有';行不通,java,input,mouse,frame,mouselistener,Java,Input,Mouse,Frame,Mouselistener,我在尝试使用鼠标听筒时遇到了一些问题。我创建了一个名为MouseManager的类,它实现了MouseListener,然后我在框架上导入了MouseListener,但是当我单击框架时,什么都没有发生。 这是MouseManager类的代码: public class MouseManager implements MouseListener { @Override public void mouseClicked(MouseEvent e) { int mx = e.getX();

我在尝试使用鼠标听筒时遇到了一些问题。我创建了一个名为MouseManager的类,它实现了MouseListener,然后我在框架上导入了MouseListener,但是当我单击框架时,什么都没有发生。 这是MouseManager类的代码:

public class MouseManager implements MouseListener {

@Override
public void mouseClicked(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println("Clicked: " + mx + " " + my);

}

@Override
public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println(mx + " " + my);

}

@Override
public void mouseReleased(MouseEvent e) {
    int mx = e.getX();
    int my = e.getY();

    System.out.println("Released: " + mx + " " + my);

}
}

下面是我用来实现MouseManager类的代码

MouseManager MouseMan = new MouseManager();
Window.frame.addMouseListener(MouseMan);
但正如我之前所说,什么都没有发生,控制台也没有显示任何消息; 我试图将窗口的可聚焦设置为false,但它继续不起作用。
对不起,我的英语不好。

您必须在空白区域和面板上注册鼠标事件。你应该阅读更多细节

以下是您必须做的部分工作:

public class MouseManager implements MouseListener {
    Frame frame = new Frame();
    frame.addMouseListener(this); 
    ....

您必须仅在同一类中注册事件,即使用

Frame objFrame = new Frame("MouseListener Demo");

objFrame.addMouseListener(this);
这里它指的是当前类的实例。 由于没有直接扩展frame类,因此也必须创建frame的对象

然后只需调用make对象,就可以完成您的工作