Захват нажатий клавиш, когда программа не активна

Я кодирую на java. Я написал keylistener для кадра, и он печатает все нажатия клавиш, когда кадр активен, но когда я сворачиваю или деактивирую его, программа, очевидно, останавливается, и нажатия клавиш не печатаются. Я хотел сделать небольшую игру, в которой я ввожу ключ, и, используя класс робота, он нажимает другой набор клавиш, но эта игра во флэш-памяти. любая идея относительно того, как я буду фиксировать нажатия клавиш, когда окно деактивировано.

edit: я кодирую только на java, поэтому возможно ли использовать только java или, самое большее, комбинировать его с собственной машиной... я использую окна


person Ajinkya Jumbad    schedule 18.06.2014    source источник


Ответы (1)


По своей природе Java изолирована JVM, поэтому вам придется включить какие-то нативные методы. Для этого уже существует очень гибкая и полезная библиотека с открытым исходным кодом, которая называется JNativeHook. Подключиться очень просто, особенно если вы уже знакомы с обработчиками событий Swing. Та же базовая концепция, за исключением того, что используется собственный код, написанный на C. Он поддерживает все основные операционные системы (Windows, Mac, *Nix).

person asteri    schedule 19.06.2014
comment
я знаю, что это может звучать глупо, но как мне добавить его в мой ide (netbeans)? я пробовал но не работает.. - person Ajinkya Jumbad; 19.06.2014
comment
@AjinkyaJumbad Я думаю, что у него есть поддержка Maven, но я не уверен. Я бы просто скомпилировал исходный код в JAR, а затем включил JAR в ваш путь к классам. - person asteri; 19.06.2014