Programación General > Java

 Duda De Eventos De Ratón

(1/1)

ehlcves:
Tengo una duda que puede que sea muy tonta, pero por ahora no lo he descubierto.
Más o menos conozco los eventos del ratón con MouseMotionListener y MouseListener pero hay uno que no existe o no lo he encontrado por ahora.

Si lo que quieres que capture el ratón es cuando está el botón pulsado ¿ que método sería ? . Conozco mouseClicked que es para cuando pulsas el botón y lo sueltas, es decir que captura un click normal del ratón. Luego mousePressed que es para cuando pulsas el botón del ratón y no lo sueltas pero solo se ejecuta una vez al pulsar el ratón. Lo que yo quiero es que se esté ejecutando todo el rato que esté el botón pulsado. ¿ existe eso y no lo estoy viendo ? ¿ hay alguna forma de simularlo ? ¿ como se podría hacer ?

Como he dicho, a lo mejor es una pregunta muy tonta porque a lo mejor existe un evento como los otros dos que he puesto que lo haga, pero no lo encuentro.

Cualquier ayuda será bienvenida!

Gracias de antemano.

frealgagu:
En realidad no existe un método que se siga ejecutando mientras se mantiene presionado el click del mouse, lo que se puede hacer es implementar el método mouseReleased el cual se ejecuta cuando uno suelta el click del mouse.
Es decir implementar el método mousePressed de tal forma que se siga ejecutando hasta que se suelte el click del mouse y el evento sea capturado por mouseReleased.

frealgagu:
Cabe añadir que la única forma de utilizarlo de esta forma es utilizando hilos, aquí coloco un ejemplo.


--- Código: Text --- class Cualquiera implements MouseListener,Runnable{  Thread hilo;  public void mousePressed(MouseListener evento)  {    hilo=new Thread(this);    hilo.start();  }  public void mouseReleased(MouseListener evento)  {    hilo=null;  }  public void run()  {    while(true)    {      //Aquí se coloca lo que se quiere seguir ejecutando mientras se mantenga el click oprimido    }  } }  

ehlcves:
Muchísimas gracias por las dos respuestas.

No había caido en eso de usar threads ni había leído nada por internet que me pudiera dar esa clave, pero tiene mucho sentido, asi que lo probaré a ver si me funciona.

Muchas gracias de nuevo, un saludo.

Navegación

[0] Índice de Mensajes

Ir a la versión completa