Java - получить события мыши за пределами компонента - PullRequest
4 голосов
/ 20 января 2010

У меня та же проблема, что и у человека здесь , в том, что мне нужно отслеживать местоположение фрейма во время его перетаскивания на OS X. Вопрос не был решен там, поэтому:

как мне сообщить фрейму, что на его (родной для ОС) строке заголовка произошло событие нажатия мыши или, в более общем смысле, что событие нажатия мыши произошло где-то на экране?

Ответы [ 2 ]

2 голосов
/ 20 января 2010

С Java 1.5

import java.awt.MouseInfo;

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

EDIT:

Родная клавиатура и мышь

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

0 голосов
/ 20 января 2010

Используя чистую Java, вы никогда не сможете сказать, что событие нажатия мыши произошло в его (OS-native) строке заголовка, или в этом случае любое событие за пределами окна вашего приложения (исключая строки заголовка).

ЭтоВажно понимать, что как программист в AWT / Swing ваш контекст, сфера и мощь лежат только в пределах окна приложения.Лучше всего использовать JNI.

...