Captura de posição do mouse fora de um JFrame

Oi, pessoal. Estou criando um programinha para capturar a posição do mouse FORA de um JFrame. Porém, to apanhando e não consegui resolver de jeito nenhum. Vejamos:


import javax.swing.JFrame;
import java.awt.AWTException;
import java.awt.FlowLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;



public class UserScreen extends JFrame{

	//constructor
	public UserScreen() throws AWTException{
		
		super("Mouse Position");
		setLayout(new FlowLayout());

		//create and register listener to mouse movement events
		MouseHandler handler = new MouseHandler();
		this.addMouseMotionListener(handler);
		this.addMouseListener( handler );
	
	}

	//internal class
	private class MouseHandler implements MouseMotionListener,        MouseListener
	{

		public void mouseDragged(MouseEvent event) {}

		public void mouseMoved(MouseEvent event) {
			System.out.println("Mouse movimentou. Pos x:"+event.getX()+" Pos y: "+event.getY());

		}
		

		public void mouseClicked(MouseEvent arg0) {}

		public void mousePressed(MouseEvent arg0) {}

		public void mouseReleased(MouseEvent arg0) {}

		public void mouseEntered(MouseEvent arg0) {}

		public void mouseExited(MouseEvent event) {}
		
	}//end internal class
}//end class UserScreen

Enfim, lá em cima, no trecho

this.addMouseMotionListener(handler);
this.addMouseListener( handler );

eu adicionei um ouvinte para o meu JFrame, certo? Isto implica dizer que o método mouseMoved só vai funcionar quando o cursor do mouse estiver dentro do JFrame. E não é isso que eu quero. Eu quero que o método mouseMoved funcione após qualquer movimento do mouse, independente de ser dentro do JFrame ou não. Eu não sei se eu devo adicionar um ouvinte de movimentação do mouse pra outro componente do programa. e se devo adicionar, não sei qual.

Será que é fácil fazer isso?

Tudo bem que tem esse tópico fala de eventos de mouse, peço até desculpas, mas achei útil pôr aqui pq pode ser útil pra quem quer fazer isso com swing.

Um abraço. Grato pela atenção

alguem ai sabe ??? tb to precisando da mesma coisa :frowning:

Te retorna a posição do mouse em relação ao sua tela.

[code]Point p = new Point();

p = MouseInfo.getPointerInfo().getLocation();[/code]

Agora to querendo saber, como pegar um clique do mouse fora do Frame. Alguém sabe?

kimba, valeu, ajudou bastante com o Point, agora me diga, esta posicao é relativa a minha resolucao e pra eu pegar a posicao com relacao a minha janela, estilo este que eu fiz em flash: http://www.memphisnet.com.br/prototipos/pontosMedicos/

de uns cliques na tela

this.getMousePosition();

Em relação ao seu JFrame.

poutz, deu certo, valeu KIMBA,
estou usando o action de um botao para pegar a posicao do mouse e para eu colocar um “listener” no Jframe? eu acho que é assim, pois faço isso no flash.

Desculpem por reabrir o tópico, mais é que to precisando de algo parecido…
Aqui diz como pegar a posição do mouse em qqr lugar da tela, mesmo que esteje fora de um Window, mais o que eu queria saber é:

Como pegar os eventos do mouse fora de um Window, o click por exemplo?

Alguem saberia me dizer?

O bom é que é uma resposta por ano! heehhe

iuhahaiuhauihau pode crer viu… nem tinha reparado… tinha visto só a ultima data que foi de 2009…
bom… mais vamos ver se alguem ajuda né… não custa tentar rs…

Eu achei algo em um forum americano… e estou tentando implementar

[code]public static void main(String[] args) {
Toolkit.getDefaultToolkit().addAWTEventListener(
new Listener(), AWTEvent.MOUSE_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

private static class Listener implements AWTEventListener {
    public void eventDispatched(AWTEvent event) {
        System.out.print(MouseInfo.getPointerInfo().getLocation() + " | ");
        System.out.println(event);
    }
}[/code]

to tentando implementar aqui… se der certo depois posto como ficou