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.