Programa no (SystemTray) Escutando Listener Teclado

4 respostas
saulobt

Pessoal,

Bom dia,

tem como por exemplo um programa java que esta minimizado no SystemTray do sistema reconhecer teclas de funções ou de atalhos … ? com java…

colocar o programa no SystemTray já consegui, tem bastante tutorial ensinando… mas depois que ele estiver la gostaria que ele escutasse o listener do teclado, veja bem o que quero não e para fazer keylog, o proposito e outro mesmo ! eu quero que o programa leve principal fique no SystemTray e chamando as telas de consulta através das telas de atalho no teclado por exemplo F1, F2 … ai ele me abriria um jframe etc etc etc…

4 Respostas

lavreh

saulobt, ao menos através dos objetos da classe TrayIcon isso não parece ser possível… Basicamente eles só reconhecem eventos do mouse. Para mais, dê uma olhada na documentação.

Além do que, por definição, os listeners monitoram eventos dentro da área de um determinado componente. Então caso o foco esteja fora da aplicação Java, acho pouco provável que se consiga capturar algum evento.

Talvez haja a possibilidade de implementar isto através de JNI…

lavreh

Trago boas novas! Existem APIs de terceiros que permitem utilizar teclas de atalho globais através de JNI…

Para Windows: JIntellitype Documentação da API / JNativeHook
Para Linux: JXGrabKey

Caso queira implementar na unha, pode dar uma olhada aqui. Mas adianto que ainda não foi testado por mim.

saulobt

lavreh, obrigado ai pela força, vou da uma olhada nas apis que voce falow

e com você disse tinha olhado na api de de java a classe trayicon não da suporte … só para mouse mesmo tentei a te criar outra classe e embutir um keylistener mas como você disse depois de tentar implementar, ai fui ver na documentação só funciona com componentes que tem foco ! ai foi por aguá abaixo hauhaau

mas ta valendo vou ver as suas indicações uma delas deve funcionar, nas minhs pesquisas tinha visto algo como disse como jni…

as apis que me indicou parece ser legal e fácil de trabalhar

obrigado mesmo pela ajuda !

lavreh

saulobt, caso consiga êxito na empreitada, por favor, compartilhe o código aqui no tópico… Para que outros que tenham a mesma dúvida tenham uma referência.

Criado 1 de novembro de 2012
Ultima resposta 4 de nov. de 2012
Respostas 4
Participantes 2