如何将mouseListener添加到graphics2D矩形

问题描述:

我想制作一个mouseListener,每次将鼠标悬停在矩形(或窗口上的某些坐标)上时,都会触发该mouseListener。我想过使用,但是的mouseEntered当你移动你的鼠标在屏幕上,而不是长方形等(下面有什么,我试图如何将mouseListener添加到graphics2D矩形

public void mouseEntered(MouseEvent e) { 
    int mx = e.getX(); 
    int my = e.getY(); 

    if(mx >= 1000/2 && mx <= 1000/2 + 380) { 
     if(my >= 300 && my <= 390) { 
      System.out.println("test"); 
     } 
    } 

} 

),但当然,没有工作的,只有触发。 我知道这可能是一个类似的问题,但我找不到,也找不到完全符合我的问题的任何内容。

编辑:我意识到,mousEntered是错误的,它其实mouseMoved!继承人的代码:

public void mouseMoved(MouseEvent e) { 
    int mx = e.getX(); 
    int my = e.getY(); 

    if(mx >= 1000/2 && mx <= 1000/2 + 380) { 
     if(my >= 300 && my <= 390) { 
      System.out.println("test"); 
     } 
    } 
} 

在此请看:

https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

这:

mouseEntered will not execute

你应该找到一些有用的笔记和解答!另外,请尝试将“mx”和“my”输出到控制台,以确保您拥有正确的坐标。

+0

没有真正的帮助,我只是希望m​​ouseEntered方法在鼠标进入矩形而不是窗口时触发。 –