Isso é porque estou com preguiça de procurar na documentação
Estava esperando o servidor de aplicação subir e iniciei aquele programa do X (xeyes) e fiquei curioso.
Para quem não conhece, o xeyes é um programa que mostra dois olhos que ficam mirando o cursor, em qualquer posição em que ele esteja na tela.
No Windows isso é fácil de fazer em um programa C++ porque basta capturar o mouse, e determinar as coordenadas.
Será que é fácil fazer algo equivalente em Java?
Usando AWT ou Swing, é lógico - acho que SWT deve ter alguma coisa semelhante à função de capturar o mouse porque é um encapsulamento fino sobre as APIs gráficas, portanto não conta.
o problema maior n eh a captura dos movimentos em si, mas como "jogar" na tela os olhos ( ou na area de trabalho)
de qlq forma é possível fazer esse xeyes sim, tinha um feito em C++ mas graças ao meu amado irmão tive q formatar o pc e … :roll:
(pq q eu n aprendi a fazer backup antes )
se quiser dps t passo mais ou menos a maneira q eu fiz ok
O “jogar” na tela é utilizar a tela como painel para os olhos
O problema com MouseMotionListener é que ele só retorna a posição do mouse se o mesmo se encontra em cima do componente em questão.
Fuçando a implementação do método Component.getMousePosition() vi que Java 1.5 vem com a classe MouseInfo com que dá para pegar a posição do mouse em qualquer lugar da tela (além de outras informações sobre o mouse).
em tempo: procurei algumas implementações de XEyes no Google http://groups.google.com.br/grphp?ie=UTF-8&oe=UTF-8&hl=pt-BR&tab=wg&q= e pude notar que muitos utilizam retas que ligam os olhos ao cursor (o q eh dah até um certo aspecto estrábico nos coitados dos olhos hehe
mas com este método que o Sami disse fica bem mais fácil ^^
Parabéns, Sami.
É exatamente isso (MouseInfo) - sabia que devia haver alguma coisa pronta.
Agora, chamar o seu programa de implementação “PoC”? Deixe de ser modesto.
Eu do meu lado estava meio que apostando que não haveria um jeito, porque a última vez que tentei fazer isso (pegar a posição do mouse) era na época de java 1.4 ou até 1.3 e eu não consegui achar um jeito de fazer isso.
Agora vejo que isto pode ser interpretado de um modo que não era minha intenção. Só para evitar que alguém entende errado, o que eu quis dizer foi “Proof of Concept” ou seja, prova de conceito e não “piece of crap” (ou outra coisa do gênero ). E realmente foi isso, testando o conceito de pegar a posição do mouse, da janela num thread e baseado nisso desenhar os olhos. Básicamente só quis dizer que o código está com bugs eu tenho preguiça de correr atrás e corrigir
Ficou muito legal, David. Usar atan2 realmente é uma solução mais elegante. É que eu nunca consigo lembrar bem da matemática envolvida e estava com preguiça de encontrar um exemplo de como fazer e por isso optei para aquela bagunça que fiz. :oops:
Realmente a sua é uma versão superior em todos os aspectos. Parabéns.
caras, parabens pela criatividade e dedicação, mesmo alguns de vcs se intitulando preguisosos, que nao acho, cheguei aqui procurando como capturar a posicao do mouse, mas procuro algo mais simples, como System.out.print(mouse.x); Entendem? para no futuro montar algo como isso que fiz em flash: http://www.memphisnet.com.br/prototipos/pontosMedicos/
nao esquecam de dar cliques na tela.