4

我和这里的人有同样的问题,因为我需要在 OS X 上拖动帧时跟踪它的位置。这个问题在那里没有得到解决,所以:

我如何告诉框架在其(OS-native)标题栏上发生了鼠标按下事件,或者更一般地说,鼠标按下事件发生在屏幕上的某处?

4

2 回答 2

2

从 Java 1.5 开始

import java.awt.MouseInfo;

public class Mouse {
    public static void main(String[] args) {
        while ( true ) {
            System.out.println( MouseInfo.getPointerInfo().getLocation() );
        }
    }
}

编辑:

本机键盘鼠标钩子

http://www.jotschi.de/?p=90

于 2010-01-20T14:33:18.873 回答
0

使用纯Java,您永远无法判断鼠标按下事件发生在其(OS-native)标题栏上,或者在这种情况下,您的应用程序窗口之外的任何事件(不包括标题栏)。

作为 AWT/Swing 中的程序员,您的上下文、领域和权力只存在于应用程序窗口中,理解这一点很重要。最好的办法是使用 JNI。

于 2010-01-20T13:43:01.020 回答