Java MAC OSX: Получите события от нажатия мыши при отсутствии активации

Я пишу Java приложение Swing, которое должно иметь окно, получают события движения мыши, когда приложение не активируется - думают о нем как глобальное поверх остальных окон панель инструментов, которая анимирует, когда мышь передает по нему.

От моего исследования до сих пор, я видел, что Java Mac, JRE только передает события, когда приложение фокусируется.

Это, кажется, не ограничение ОС, таким образом, я надеялся, что было системное свойство, свойство пакета приложений или системный вызов, который включил неактивированную обработку событий. Сбой этого, некоторого метода глобально захватывающих мышь событий перемещения и передача их в к JAVA-приложению.

Спасибо за любые предложения...

Править: Один дальнейший вопрос: После того как события перемещения мыши были получены, как Вы подаете их в Swing так, чтобы их рассматривали в том же, был как собственные события от нажатия мыши ОС - путем нахождения компонента под мышью и отправки MouseEvent в него...

6
задан RedPandaCurios 6 June 2010 в 08:32
поделиться

1 ответ

Это невозможно на чистой Java.
Вам понадобится JNI и написать глобальный keylistener (или keyboard hook) на C++ или другом языке.

Вот несколько тем о Global KeyListener:

По последней теме: это было данное решение для OSX.

2
ответ дан 17 December 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: