2010-12-14 17 views

risposta

5

c'è metodo mouseDragged in MouseMotionListener ... check out this per maggiori dettagli ...

+4

@Stephen P, ho risuscitato inavvertitamente il tuo commento perché l'ho letto male. Non è assolutamente necessario riepilogare l'API qui. È una perdita di tempo in quanto è a questo che serve l'API. Tutto il necessario OP doveva essere indirizzato nella giusta direzione. In effetti, solo menzionare la classe e il metodo è un'ottima risposta. Le persone dovrebbero sempre avere accesso all'API per leggerlo per i dettagli. – camickr

+0

d'accordo con camickr – hologram

+0

@ camickr È buona pratica mantenere le risposte sempreverdi. Questo significa limitare i collegamenti, poiché un giorno potrebbero rompersi e l'intera risposta sarà discutibile. Nel complesso, questo dovrebbe essere stato un commento, non una risposta. È il "modo Stack" per fare in modo che le risposte siano spiegazioni, non collegamenti a siti di riferimento e API. –

-1

Penso che ci potrebbe essere una sorta di trascinare il mouse chi ascolta, ma se non ...

Cattura la pulsante del mouse verso l'alto e gli eventi. In quegli eventi, impostare un valore booleano come leftButtonIsDown = true (a meno che non ci sia già un modo semplice per eseguire una query che) e poi nel topo eventi movimento utilizzano un blocco come if (leftButtonIsDown)

2

Nel vostro MouseMotionListener è possibile verificare la presenza di questo utilizzo:

SwingUtilities.isLeftMouseButton(me.getPoint()) 

e si dovrebbe ascoltare l'evento mouseDragged.

+1

ce l'hai per lo più qui , ma ho appena ampliato la mia risposta –

+0

che dovrebbe essere chiamata su MouseEvent, non sul punto –

+0

@DonHatch, buona cattura. Stavo per dire "buon punto", ma sarebbe sbagliato :) Lascerò il codice così come è giusto che le persone possano prendere la battuta (dal momento che probabilmente useranno comunque la risposta di Jeff). – camickr

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

Non vedo la necessità di inserire un codice feed come questo. L'OP voleva solo essere indicata nella giusta direzione, come si può capire dalla risposta accettata. L'OP può chiedere più aiuto se ne ha bisogno. – camickr

+0

Interessante che la risposta che non ha menzionato come capire quale pulsante è stato premuto è stata accettata, quando la domanda specificava il pulsante * sinistro * del mouse è necessaria. Ho trovato questa domanda tramite la ricerca, e ho davvero bisogno che sia il pulsante * sinistro * del mouse come specificato nella domanda, quindi sto inviando questa risposta (anche se isLeftMouseButton è errato al momento della stesura di questo) –

Problemi correlati