как получить координаты щелчка мышью за пределами моего окна в Java - PullRequest
17 голосов
/ 10 марта 2010

Мне нужно реализовать класс, используя Swing, который может получать координаты мыши, когда пользователь нажимает в любом месте экрана. если бы я хотел получить координаты мыши внутри моего собственного окна, я бы использовал MouseListener, но я хочу, чтобы он работал, даже когда пользователь щелкает вне моей программы.

Я хочу, чтобы мой класс вел себя так же, как и KColorChooser : пользователь нажимает кнопку сброса, и он может щелкнуть в любом месте экрана, чтобы получить цвет этого пятна. но я не знаю, возможно ли это с использованием чистой Java.

Ответы [ 11 ]

0 голосов
/ 11 марта 2010

У меня еще недостаточно представителей, чтобы оставлять комментарии, но вот мои комментарии к другим методам:

  • Использование собственной библиотеки lib: будет работать, но имеет очевидные ограничения распространения

  • Используйте GlassPane для заполнения всего экрана: GlassPanes должны находиться внутри окна.

  • Создание окна с изображением рабочего стола и заполнение всего экрана: будет работать, но оно внезапно сделает рабочий стол статическим. Курсор больше не будет меняться, любая анимация или видео в других окнах или на рабочем столе станут жутко статичными.

Альтернативное решение: Уточнение окна заполнения экрана, если вы используете Java 6u10 или новее, - сделать окно полностью прозрачным . Поместите это окно перед всеми остальными и слушайте щелчки мышью. У него все еще есть недостатки, такие как отсутствие изменений курсора, но это зависит от того, что вы хотите сделать.

...