Boa tarde galera estou criando uma app que tem que pegar a posição mouse em qualquer parte da tela, mas não estou conseguindo já tentei fazer assim e nada
É necessário realizar um click dentro do seu frame para ativar o listener que você implementou, porém o seu frame não tem nenhuma dimensão
adicione o seguinte código:
frame.setSize(100,100);
depois da instância do seu frame.
e realize um click no mesmo.
Abraços
R
robson.nunes
Caro jscamara , acho que não fui claro eu não quero clicar em nenhum frame , mas sim em qualquer parte do sistema é como se a minha aplicação ficasse rodando em backgorund e capturando os cliks que eu fosse dando sem nenhuma janela.
Abs.
J
jaboot
Pra isso você precisa acessar as API´s do sistema operacional.
R
robson.nunes
jaboot, teria alguma documentação classe ou exemplo para eu ter uma ideia de como começar ??
fiz um teste aqui usando as suas classes e funcionou perfeitamente. com a diferença que usei meu proprio jframe com seus botes, text, etc.
segue a saida do console:
java.awt.Point[x=156,y=45] |
java.awt.Point[x=306,y=58] |
java.awt.Point[x=306,y=58] |
java.awt.Point[x=466,y=60] |
java.awt.Point[x=466,y=60] |
java.awt.Point[x=662,y=22] |
R
robson.nunes
Dá certo somente quando você clica dentro do Frame quando se clica fora não funciona.
quero quando clique fora do frame
M
mauricioadl
robson.nunes:
Dá certo somente quando você clica dentro do Frame quando se clica fora não funciona.
quero quando clique fora do frame
vc quer clicar fora da sua aplicação e funcionar, tipo esses programas hacker, eh isso?
R
robson.nunes
Acredito que isso não seja um programa hacker…e o que eu quero é que minha aplicação fique rodando em background enquanto eu vou clicando em qualquer parte da minha tela do sistema operacional e a minha aplicação intercepte o clique do mouse e pegue a posição do ponteiro.
M
mauricioadl
eu disse tipo programa hacker, desses que ficam capturando eventos do SO.
isso que vc quer eh chato fazer em java, ja muitos topicos desse tipo aqui e nenhum teve solução. com certeza vai precisar usar codigo nativo em C ou coisa do tipo.
fico devendo essa, boa sorte!
se conseguir posta o codigo pra galera
abração!
R
robson.nunes
ok mauricioadl, ninguém aqui no forum tem alguma ideia de como resolver este caso, por favor galera me ajudem.
abs.
M
mauricioadl
cara, fiz um teste bobo aqui e so faltou pensar um pouco. o comando: MouseInfo.getPointerInfo().getLocation()
pega a posicao do mouse onde quer que ele esteja, soh eh preciso vc criar um thread que fica capturando a posicao dele e realizando a tarefa que vc quiser.
entendeu?
R
robson.nunes
mauricioadl eu já fiz isso, mas a minha intenção é pegar a posição do mouse por meio do evento de click e não por um determinado tempo que a thread vai rodar.
J
jaboot
Então Robson, pra isso você vai ter que acessar, por exemplo, a parte do Windows que trata eventos de click do mouse, ou algo assim.
Eu nem tenho ideia por onde começar.
M
mmx
pesquise por JNA, agora capturar click do mouse é coisa de screenlogger que quer roubar senha de banco, não que seja o seu caso, mas não to vendo outra utilidade em fazer isso