【发布时间】:2010-10-05 00:14:19
【问题描述】:
我的样板听众:
class MyMouseMotionListener implements MouseMotionListener {
public void mouseDragged(MouseEvent e) {
System.out.println("Dragged...");
}
public void mouseMoved(MouseEvent e) {
System.out.println("Moved...");
}}
很简单,但是为了监听系统范围的事件,我应该添加什么?我一直在研究诸如 GraphicsDevice 和 AccessibleContext 子类之类的东西——它们不直接提供 MouseMotionListeners 的添加,但我希望它们能给我一些关于如何实现它的想法。
编辑:这根本不是基于事件的,但我发现了这个:
MouseInfo.getPointerInfo().getLocation()
即使应用程序本身没有焦点,它实际上也会在我的应用程序上下文之外返回鼠标位置。有什么方法可以观察到这一点并在其值发生变化时调度事件?
【问题讨论】:
-
我不准备放弃仅使用 Java 提供的工具就可以实现这一点的想法。如 PointerInfo 类所示,鼠标位置(无论焦点如何)对于正在运行的 Java 进程是已知的。我现在正尝试将其正确呈现给我的应用以供使用。