考虑 window 边界获取 JFrame 中的鼠标位置
Get mouse position in JFrame considering window bounds
我正在 Java 中构建一个简单的图形应用程序,它需要我在 2D 图形中获取鼠标位置 canvas。我使用了代码 MouseInfo.getPointerInfo().getLocation()
,但它 return 是相对于 JFrame window 而不是 g2d canvas.
的鼠标位置
例如,当我的鼠标光标在g2d canvas上的坐标(0,0)时,MouseInfo.getPointerInfo().getLocation()
会因为边框的原因return(8,30)围绕 window.
我可以只考虑偏移量,但是 window 每个 OS 的边框大小都会变化。
我是否需要手动检查 OS 和边框偏移的因素,还是有更快的方法?
问题已通过 post 解决。我需要使用这种方法:
添加事件侦听器:
myJFrame.getContentPane().addMouseListener(listener);
在鼠标事件函数中获取鼠标位置:
evt.getPoint()
我正在 Java 中构建一个简单的图形应用程序,它需要我在 2D 图形中获取鼠标位置 canvas。我使用了代码 MouseInfo.getPointerInfo().getLocation()
,但它 return 是相对于 JFrame window 而不是 g2d canvas.
例如,当我的鼠标光标在g2d canvas上的坐标(0,0)时,MouseInfo.getPointerInfo().getLocation()
会因为边框的原因return(8,30)围绕 window.
我可以只考虑偏移量,但是 window 每个 OS 的边框大小都会变化。
我是否需要手动检查 OS 和边框偏移的因素,还是有更快的方法?
问题已通过 post 解决。我需要使用这种方法:
添加事件侦听器:
myJFrame.getContentPane().addMouseListener(listener);
在鼠标事件函数中获取鼠标位置:
evt.getPoint()