繁体   English   中英

如何将mouseListener添加到graphics2D矩形

[英]How to add a mouseListener to a graphics2D rectangle

我想制作一个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");
        }
    }
}

看看这个:

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

和这个:

mouseEntered将不会执行

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM