Come posso rilevare uno scorrimento a 2 dita su un trackpad del laptop in java? Ho cercato su Google e qui ma non riesco a trovare nulla sullo scrolling usando un trackpad e tanto meno come ascoltarlo. Qualsiasi aiuto sarebbe molto apprezzato. Grazie.trackpad Java 2-finger scroll listener
risposta
Se si tratta di ascoltare gli scroll, è possibile farlo aggiungendo MouseWheelListener al proprio controllo. Vedere How to Write a Mouse-Wheel Listener per ulteriori informazioni.
Se si tratta di rilevare eventi specifici dal trackpad e non dal mouse, non sono a conoscenza di alcuna funzione Java per l'implementazione.
questo è un pò tutti e due, voglio ascoltare per gli scroll degli utenti che provengono da un trackpad, i link che hai dato torneranno utili ma non funzionano per quello di cui ho bisogno (Sono su un Mac se questo fa alcuna differenza). – Joe
Ero google per qualsiasi problema tra MouseWheelListener e Mac OS e l'unica cosa che ho trovato è stata la conferma che MouseWheelListener era la strada da percorrere: http://lists.apple.com/archives/java-dev/2008/Jun/ msg00169.html Scusa se non funziona per te, proverò sul mio Mac se riesco a trovare il tempo a casa. –
okay ... forse l'IDE che sto usando non può, non registra o non registra le pergamene. sto usando Processing e tutti gli ascoltatori del mouse funzionano tranne MouseWheelListener. controllerò sul loro forum per qualsiasi cosa. grazie per la tua risposta. – Joe
ho fatto questo programma di esempio
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import javax.swing.JFrame;
public class ScrollTest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
frame.addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseWheelMoved(MouseWheelEvent event) {
if (event.isShiftDown()) {
System.err.println("Horizontal " + event.getWheelRotation());
} else {
System.err.println("Vertical " + event.getWheelRotation());
}
}
});
frame.setVisible(true);
}
}
Sarà stampata se lo scorrimento è orizzontale o verticale e quanto il rotolo è stato quando si scorre all'interno della finestra aperta su un Mac con un touchpad.
Finalmente una risposta che ascolterà lo scorrimento nativo. Date un'occhiata alla mia domanda e rispondete qui: https://stackoverflow.com/a/31190973/155137
Il progetto rileva anche i gesti di scorrimento e li segnala in modo corretto. Lo scorrimento è scorrevole come un'applicazione di cacao nativa.
Lo scorrimento con due dita dipenderà dall'hardware vero? –
Devi distinguere tra uno scroll del mouse e uno scroll trackpad? –
@KevinD - è possibile, mi stavo chiedendo che dal momento che java è indipendente dalla piattaforma ci potrebbe essere una soluzione – Joe