2010-12-14 9 views

Respuesta

5

hay un método mouseDragged en MouseMotionListener ... this comprobar hacia fuera para más detalles ...

+4

@Stephen P, accidentalmente he votado por su comentario porque lo leí mal. No hay absolutamente ninguna necesidad de resumir la API aquí. Es una pérdida de tiempo ya que para eso es la API. Todo lo que OP necesitaba era apuntar en la dirección correcta. De hecho, solo mencionar la clase y el método es una gran respuesta. La gente siempre debe tener acceso a la API para leerla para obtener más detalles. – camickr

+0

de acuerdo con camickr – hologram

+0

@camickr Es una buena práctica mantener las respuestas siempre verdes. Esto significa limitar los enlaces, ya que un día pueden romperse y toda la respuesta será discutible. En general, esto debería haber sido un comentario, no una respuesta. Es la "forma de pila" para hacer que las respuestas sean explicaciones, no enlaces a sitios de referencia y API. –

-1

creo que podría ser una especie de oyente arrastrar el ratón, pero si no ...

Capturar la botón del mouse hacia abajo y hacia arriba eventos. En esos eventos, establecer un booleano como leftButtonIsDown = true (a menos que ya hay alguna manera fácil consulta que) y luego en el ratón eventos de movimiento utilizan un bloque como if (leftButtonIsDown)

2

en su MouseMotionListener se puede comprobar esto usando:

SwingUtilities.isLeftMouseButton(me.getPoint()) 

y usted escucharía el evento mouseDragged.

+1

lo tienes principalmente aquí , pero acabo de expandir en mi respuesta –

+0

debe ser llamado en el evento MouseEvent, no en el punto –

+0

@DonHatch, buena captura. Iba a decir un buen "punto", pero eso sería incorrecto :) Dejaré el código para que la gente pueda entender el chiste (ya que probablemente usarán la respuesta de Jeff de todos modos). – camickr

16
component.addmouseMotionListener(new MouseAdapter() { 
    public void mouseDragged(MouseEvent evt) { 
     if (SwingUtilities.isLeftMouseButton(evt)) { 
     // do your stuff here 
     } 
    } 
}); 
+0

No veo la necesidad de codificar el código de alimentación de esta manera. El OP simplemente deseó apuntar en la dirección correcta como puede ver por la respuesta que fue aceptada. El OP puede pedir más ayuda si la necesita. – camickr

+0

Es interesante que la respuesta que no menciona cómo saber qué botón se presionó fue aceptada, cuando la pregunta especificó el botón del mouse * left * es necesario. Encontré esta pregunta a través de la búsqueda, y realmente necesito que sea el botón del mouse * left * como se especifica en la pregunta, por lo que estoy votando esta respuesta (aunque isLeftMouseButton está mal escrito a partir de este escrito) –

Cuestiones relacionadas