如何将mouseListener添加到graphics2D矩形

时间:2017-10-17 01:23:28

标签: java mouselistener

我想创建一个mouseListener,每次鼠标悬停在矩形(或窗口上的某些坐标)上时都会触发。我想过使用mouseEntered,但只有当你在屏幕上移动鼠标时才会触发,而不是矩形等(看看我试过的是什么

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");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

看看这个:

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

而且:

mouseEntered will not execute

你应该找到一些有用的注释和答案!另外,尝试将“mx”和“my”打印到控制台,以确保您拥有正确的坐标。