【发布时间】:2017-12-25 08:12:18
【问题描述】:
我想在显示舞台之前检索当前鼠标位置的 x 和 y 坐标。
到目前为止,我发现在 JavaFX 中获取鼠标位置的唯一方法是在 MouseEvent 内,这不适用于我的情况。此外,我发现可以通过java.awt.MouseInfo 检索位置。然而,我认为这是一个坏主意(我使用 JavaFX 而不是 AWT),并且至少在我的情况下,结果是 HeadlessException。
是否有其他干净的可能性来检索 JavaFX 中的鼠标位置而不会太笨拙(例如,模拟 MouseEvent 只是为了获取位置)?
非常感谢!
【问题讨论】:
-
我不是专家,但据我所知,这并不容易。鼠标/光标通常是一个 OS 元素,除非你有一个窗口来捕捉它,否则你不会得到它。您可能需要降低到原生级别(JNA?),或者您需要创建并显示一个透明的
Stage,然后获取坐标,然后丢弃该透明阶段。 -
@Jai 感谢您的反馈。情况可能确实如此,因此要获得一个干净的解决方案,可能无法但以某种方式模拟
MouseEvent。
标签: java javafx position mouse-cursor