Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要注册我的鼠标听筒吗?_Java_User Interface_Mouselistener - Fatal编程技术网

Java 我需要注册我的鼠标听筒吗?

Java 我需要注册我的鼠标听筒吗?,java,user-interface,mouselistener,Java,User Interface,Mouselistener,我应该有一个GUI来跟踪预先指定的“特殊”点列表。如果用户的鼠标移动到其中一个点上,该点将亮起。我的任务是编写下面的处理程序/侦听器内部的代码,使用引用,并假设下面列出的方法存在(我应该调用这个方法,假设它已经被编写) specialPointList//预先指定的“特殊”点的数组列表;类型为ArrayList 假设此方法存在:public void lightUpAPoint(p点) 我的代码将进入处理程序方法中: public void mouseMoved(MouseEvent eve

我应该有一个GUI来跟踪预先指定的“特殊”点列表。如果用户的鼠标移动到其中一个点上,该点将亮起。我的任务是编写下面的处理程序/侦听器内部的代码,使用引用,并假设下面列出的方法存在(我应该调用这个方法,假设它已经被编写)

  • specialPointList//预先指定的“特殊”点的数组列表;类型为
    ArrayList
  • 假设此方法存在:
    public void lightUpAPoint(p点)
我的代码将进入处理程序方法中:

public void mouseMoved(MouseEvent event) {

}
我需要注册我的鼠标听筒吗

这就是我认为问题要求我做的:

public void mouseMoved(MouseEvent event) {
    specialPointList = ArrayList<Point>();

    Point mousePoint = event.getPoint(); 
    for(Point point : specialPointList) {
        if(mousePoint.equals(point)) {
            lightUpAPoint(point);
        }
    }
}
public void mouseMoved(MouseEvent事件){
specialPointList=ArrayList();
Point mousePoint=event.getPoint();
对于(点:特殊点列表){
if(鼠标点等于(点)){
照明点(点);
}
}
}

无论创建什么侦听器,都需要将其注册到ui组件。 看看组件的方法。如果有方法添加您的侦听器,您可以这样做

所有swing组件都支持MouseListener


当用户执行操作时,将创建新事件并发送给您的侦听器。

“我需要注册我的鼠标侦听器吗?”-通常是,但“我的任务是编写进入处理程序/侦听器内部的代码”表明实际注册侦听器的责任属于其他人。。。。此外,如果您在点亮鼠标事件之前检查鼠标事件是否在
点内,这将非常有用是的,您需要这样做。无论您使用什么组件,它都可能是component.addMouseListener(取决于您的特定代码)@KrishnanshuGupta鉴于这是我得到的唯一信息,我只能编写mouseMoved类中的代码,这不是前面的评论所说的情况吗?我不知道其他人在谈论什么。要解决这个问题,你需要做的是鼠标点。您可以使用event.getLocationOnScreen()获取它。请参见,一旦找到鼠标点,您就可以循环浏览特殊点列表,查看是否等于或接近等于。@mad程序员您能给我一些建议吗?