Evento sem interface gráfica

11 respostas
H

Ae pessoal… eu tava querendo fazer o seguinte! Fazer uma aplicação q ficasse no trayicon em standby e eu pudesse ficar fazendo outra coisa com a aplicação aberta! mas queria q a aplicação detectasse quando eu pressionasse a tecla A e abrisse uma janela! como acontece com outros programas!

Flw!!!

11 Respostas

betoslayer

Isso é bem simples Você vai precisar apenas usar as classes java.awt.TrayIcon e java.awt.SystemTray.

Nao vou te explicar como faz, porque aqui mesmo no guj ja tem um topico explicando isso. Dá uma procurada!!!

H

betoslayer:
Isso é bem simples Você vai precisar apenas usar as classes java.awt.TrayIcon e java.awt.SystemTray.

Nao vou te explicar como faz, porque aqui mesmo no guj ja tem um topico explicando isso. Dá uma procurada!!!

e ae pessoal, blz?
entao… acho q vc não entendeu a minha pergunta! Eu sei fazer o TrayIcon! Oq eu to querendo eh q minha aplicação depois q eu coloca-la no trayicon ela fique somente ouvindo os eventos, e q eu possa mexer em outras coisas, por exemplo navegar na net, ai quando por exemplo eu estiver navegando em um site X e eu pressione a tecla H por exemplo a minha aplicação ouça esse evento de teclado e trate-o!
Sempre q uso tratamento de evento em Java está associado a uma interface gráfica! mas nesse caso eu queria tratar um evento sem uma interface grafica e criar (ou deixar vizivel) uma janela APÓS o evento!

Um exemplo de aplicação q tem esse recurso q estou tentando fazer eh o GetRight! Onde vc configura a tecla de atalho, deixa ele no trayicon, e depois quando vc clica nessa tecla de atalha q vc configurou abre o painel do GetRight!

Flw!

betoslayer

henriqueers:
betoslayer:
Isso é bem simples Você vai precisar apenas usar as classes java.awt.TrayIcon e java.awt.SystemTray.

Nao vou te explicar como faz, porque aqui mesmo no guj ja tem um topico explicando isso. Dá uma procurada!!!

e ae pessoal, blz?
entao… acho q vc não entendeu a minha pergunta! Eu sei fazer o TrayIcon! Oq eu to querendo eh q minha aplicação depois q eu coloca-la no trayicon ela fique somente ouvindo os eventos, e q eu possa mexer em outras coisas, por exemplo navegar na net, ai quando por exemplo eu estiver navegando em um site X e eu pressione a tecla H por exemplo a minha aplicação ouça esse evento de teclado e trate-o!
Sempre q uso tratamento de evento em Java está associado a uma interface gráfica! mas nesse caso eu queria tratar um evento sem uma interface grafica e criar (ou deixar vizivel) uma janela APÓS o evento!

Um exemplo de aplicação q tem esse recurso q estou tentando fazer eh o GetRight! Onde vc configura a tecla de atalho, deixa ele no trayicon, e depois quando vc clica nessa tecla de atalha q vc configurou abre o painel do GetRight!

Flw!

Ah entedi, bom nesse caso não vai ser tão simples, mas é tranquilamente possível. Eu ja fiz um aplicativo deste tipo, ele gravava todas as teclas que o usuario digitava, mesmo rodando em background, e armazenava em um txt e enviava para mim por email. Tipo um vírus.
Pra capturar eventos do teclado mesmo q sua aplicação nao estando com focus voce vai receber 2 notícias, uma boa e outra ruim.

A noticia ruim é que você precisa usar JNI para interagir com o SO nesse aspecto para capturar os hooks do teclado, o q é bem chato e complicado para quem nao conhece.

A noticia boa é que ja fizeram isso pra vc, a eclipse criou a API SWT que ja faz isso, basta vc usar as classes dela. Lembrando que so vai funcionar no windows visto que ela usou JNI para win32. Para ter acesso basta entrar em http://www.swtui.cn/ e baixar o SWT Win32 Extension.

Qualquer duvida é so me falar

H

Vlw mesmo kra! A noite vou dar uma olhada nisso!
Obrigadão! T+!

H

Kra, entrei no site do eclipse (http://www.eclipse.org/swt/), e vi uns tutoriais la sobre a SWT mas nada sobre tratamento de eventos de teclado! =( pelo menos, não do modo q eu to querendo! =(
Pode me dar exemplo de tratamento de teclado com SWT sem q haja uma interface gráfica???

vlw!

H

Encontrei a solução para oq eu estava procurando nesse outro tópico! :lol:
http://www.guj.com.br/posts/list/109811.java
Ainda nao testei mas acho q funciona!
T+ pessoal!

Eucassio

henriqueers
Estou como mesmo problema q você: estou querendo q minha aplicação saia do System tray com o pressionamento de algumas teclas
de atalho e achei essa uma boa opção, mas como importo as dll’s para meu projeto? Você poderia me explicar como importou as bibliotecas e as dll’s para seu projeto
de forma a criar um jar pois nao stou conseguindo, só funciona quando executo pelo console.

Obrigado

S

Preciso muito disso, porem uso linux, o link do .jar não existe mais e o que achei não tem o pacote extension!
preciso de ajuda plz!!

Eucassio

storkoxa, para vc usar no linux você terá q procurar uma solução nativa do linux e adaptá-la a sua aplicação.
Consegui depois de MUITO trabalho usar no windows, mas a swt só funciona instalando hooks no windows e msm assim não funciona 100% tive q fazer
altas “gambiarras” pra conseguir funcionar corretamente.

Agora no linux veja se há algo nas libs como o KDE, possa ajudar.

S

não achei NADA que possa me ajuda :confused: tá tenso!
Eucassio vle a tentativa

Eucassio

storkoxa, certeza que não achou nada?
Uso o amarok feito em kde passo as músicas nele usando “LOGO WIN + B” de qualquer janela.
Acho q dá de gerar um .so com esses código de leitura de teclas e por meio de JNI charmar seu aplicativo em java para sair da bandeja.
Dá de chamar um método de um objeto java por meio de JNI.

Criado 8 de dezembro de 2008
Ultima resposta 24 de nov. de 2009
Respostas 11
Participantes 4