首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MouseListener不工作

MouseListener不工作
EN

Stack Overflow用户
提问于 2017-09-02 03:41:33
回答 2查看 419关注 0票数 0

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

代码语言:javascript
复制
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类的代码

代码语言:javascript
复制
MouseManager MouseMan = new MouseManager();
Window.frame.addMouseListener(MouseMan);

但是,正如我之前所说的,没有发生任何事情,控制台也没有显示任何消息;我尝试将窗口的可聚焦设置为false,但它继续不起作用。对不起,我的英语不好。

EN

回答 2

Stack Overflow用户

发布于 2017-09-02 04:16:36

你只需要在同一个类中注册事件,也就是你的MouseManager类,使用

代码语言:javascript
复制
Frame objFrame = new Frame("MouseListener Demo");

objFrame.addMouseListener(this);

这里它指的是当前类的实例。你也必须创建frame的对象,因为你没有直接扩展Frame类。

然后只需调用make the object,你的工作就完成了。

票数 1
EN

Stack Overflow用户

发布于 2017-09-02 03:48:57

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

这是你必须做的一部分:

代码语言:javascript
复制
public class MouseManager implements MouseListener {
    Frame frame = new Frame();
    frame.addMouseListener(this); 
    ....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46007018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档