【问题标题】:How to add a mouseListener to a graphics2D rectangle如何将 mouseListener 添加到 graphics2D 矩形
【发布时间】:2017-10-18 09:14:23
【问题描述】:

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

【问题讨论】:

    标签: java mouselistener


    【解决方案1】:

    看看这个:

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

    还有这个:

    mouseEntered will not execute

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

    【讨论】:

    • 没什么帮助,我只是想让 mouseEntered 方法在鼠标进入矩形而不是窗口时触发。
    猜你喜欢
    • 2018-02-19
    • 2015-09-04
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多