Eu gostaria de simular um movimento natural do mouse em Java (indo daqui para lá pixel por pixel). Para fazer isso, preciso saber as coordenadas de partida.
Encontrei o método event.getX () e event.getY (), mas preciso de um evento ...
Como posso saber as posições sem fazer nada (ou algo não visível)?
Obrigado
getPointerInfo().getLocation()
retorna a posição relativa à tela. Se você quiser a posição relativa ao seu componente (como fornecida por MouseListeners), você pode subtrairyourComponent.getLocationOnScreen()
dela.Container.getMousePosition()
pode retornar algumas vezesnull
se o mouse estiver se movendo muito rápido, usando isso evita o problema.SwingUtilities.convertPointFromScreen(MouseInfo.getPointerInfo().getLocation(), component)
MouseInfo.getPointerInfo()
pode retornar null quando não há mouse ou em algumas configurações multimon.SwingUtilities.convertPointFromScreen(..)
converte o primeiro argumento no local e não retorna nada, portanto, ele precisa ser escrito de forma um pouco diferente em relação ao comentário @AndreiVajnaII para que possamos obter oPoint
objeto.fonte
No SWT, você não precisa estar em um ouvinte para chegar à localização do mouse. O objeto Display possui o método
getCursorLocation()
.No vanilla SWT / JFace, ligue
Display.getCurrent().getCursorLocation()
.Em um aplicativo RCP, chame
PlatformUI.getWorkbench().getDisplay().getCursorLocation()
.Para aplicativos SWT, é preferível usar em
getCursorLocation()
vez doMouseInfo.getPointerInfo()
que outros mencionaram, pois o último é implementado no kit de ferramentas AWT que o SWT foi projetado para substituir.fonte
fonte
fonte
Tente examinar a classe java.awt.Robot. Ele permite que você mova o mouse de maneira programática.
fonte
Se estiver usando Swing como sua camada de IU, você pode usar um Mouse-Motion Listener para isso.
fonte
Estou fazendo algo assim para obter as coordenadas do mouse usando o Robot. Uso ainda mais essas coordenadas em alguns dos jogos que estou desenvolvendo:
fonte
Se estiver usando o SWT, você pode querer adicionar um MouseMoveListener conforme explicado aqui .
fonte
No meu cenário, eu deveria abrir uma caixa de diálogo na posição do mouse com base em uma operação da GUI feita com o mouse. O código a seguir funcionou para mim:
fonte