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

MouseMotion和MouseMotionListener不工作
EN

Stack Overflow用户
提问于 2012-02-01 10:09:10
回答 2查看 2.8K关注 0票数 0

好吧,我做的是一个完全正常的应用程序,但在使用MouseMotion和MouseMotionListener时遇到了问题:它们在我的画布中根本没有被调用。我以为这是我将画布添加到框架中的事情,但我创建了这个测试程序,并感到非常惊讶:

代码语言:javascript
复制
import java.applet.Applet;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;

import java.awt.Graphics;

public class testapp extends Applet implements MouseMotionListener {
    int x = 40;
    public void mouseMoved(MouseEvent e) {
        showStatus("mouse moved");
    }
    public void mouseDragged(MouseEvent e) {
        showStatus("mouse dragged");
        x++;
        repaint();
    }

    public void paint(Graphics g) {
        g.drawString("Hello World!", 40, x);   //x SHOULD move it down! ugh...
    }
}

所以我使用BlueJ的漂亮的Applet运行器来运行,当我点击并拖动我的鼠标时,x不会增加!当我实现MouseListener并试图在其中一个实现的方法中增加一个变量时,也会发生同样的情况。

我应该重新启动计算机吗?我的JDK版本坏了吗?(我有Java 7,以防这是一个已知的bug)

现在,我非常困惑,我有一个作业,需要方法工作,明天到期,所以任何帮助都是非常感谢的。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-02-01 10:14:29

您没有向侦听器注册组件。也许你可以试试这个:

代码语言:javascript
复制
   public void init(){
        addMouseMotionListener(this);   
   }
票数 3
EN

Stack Overflow用户

发布于 2012-02-01 10:13:31

你不能仅仅实现一个监听器。您还必须注册它。您的Applet甚至不知道MouseListener在这一点上是否存在。

因为这是家庭作业,所以请复习http://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9089815

复制
相关文章

相似问题

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