繁体   English   中英

MouseListener不起作用

[英]MouseListener doesn't work

我在尝试使用MouseListener时遇到一些问题。 我创建了一个名为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,但它继续无法正常工作。 对不起,我的英语不好。

您只需要在同一类中注册事件,即通过使用

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

objFrame.addMouseListener(this);

这里指的是当前类的实例。 您也必须制作框架的对象,因为您没有直接扩展框架类。

然后只需调用make该对象即可完成工作。

您必须在blankArea和面板上注册鼠标事件。 您应该在这里阅读更多详细信息。

这是您必须做的一部分:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM