Los eventos Mouse-motion nos dicen cuando el usuario usa el rat�n (u otro dispositivo similar) para mover el cursor sobre la pantalla.
�M�todos de Evento Mouse-Motion
El interface MouseMotionListener y su correspondiente clase adaptador, MouseMotionAdapter, contienen estos m�todos.
- void mouseDragged(MouseEvent)
- Llamado en respuesta a un movimiento del rat�n por parte del usuario mientras mantiene pulsa uno de los botones delr at�n. Este evento es disparado por el componente que dispar� el evento mouse-pressed m�s reciente, incluso si el cursor ya no est� sobre ese componente.
- void mouseMoved(MouseEvent)
- Llamado en respuesta a un movimiento del rat�n por parte del usuario sin ning�n bot�n puslado. El evento es disparado por el eventos que se encuentra actualmente debajo del cursor.
�Ejemplos de Manejo de Eventos Mouse-Motion
El siguiente applet contiene un oyente de mouse-motion. Es exactamente igual que el applet de la p�gina C�mo escribir un Oyente de Mouse, excepto en que sustituye MouseMotionListener por MouseListener, e implementa los m�todo mouseDragged y mouseMoved en vez de los m�todo del oyente de mouse. Puedes encontrar el c�digo del applet en MouseMotionEventDemo.java y en BlankArea.java.

Esto es una imagen del GUI del Applet. Para ejecutarlo, pulsa sobre ella. El applet aparecer� en una nueva ventana de tu navegador..
Prueba esto:
|
El siguiente c�digo contiene el manejo de eventos de la clase RectangleDemo.java. Esta clase maneja tres clases de eventos: pulsacion de rat�n, arrastre de rat�n y liberaci�n de rat�n. Estos eventos corresponden a los m�todos mousePressed (de MouseListener), mouseDragged (de MouseMotionListener), mouseReleased (de MouseListener). As�, esta clase debe implementar tanto MouseListener como MouseMotionListener. Para evitar tener que manejar demasiados m�todos vacios, esta clase no implementar MouseListener directamente. En su lugar, extiende MouseAdapter e implementa MouseMotionListener.
...//where initialization occurs:
MyListener myListener = new MyListener();
addMouseListener(myListener);
addMouseMotionListener(myListener);
...
class MyListener extends MouseAdapter
implements MouseMotionListener {
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
currentRect = new Rectangle(x, y, 0, 0);
repaint();
}
public void mouseDragged(MouseEvent e) {
updateSize(e);
}
public void mouseMoved(MouseEvent e) {
//Do nothing.
}
public void mouseReleased(MouseEvent e) {
updateSize(e);
}
void updateSize(MouseEvent e) {
int x = e.getX();
int y = e.getY();
currentRect.setSize(x - currentRect.x,
y - currentRect.y);
repaint();
}
}
�M�todos de Eventos usados por oyentes de Mouse-Motion
Cada evento mouse-motion tiene un s�lo par�metro -- y no se llama MouseMotionEvent! En su lugar cada evento mouse-motion tiene un m�todo con un argumento MouseEvent. Puedes ver la p�gina La clase MouseEvent para m�s informaci�n sobre c�mo utilizar objetos MouseEvent.