¿cómo puedo detectar un desplazamiento de 2 dedos en un trackpad de portátil en java? He estado buscando en google y aquí, pero no puedo encontrar nada en el desplazamiento usando un trackpad y mucho menos cómo escucharlo. cualquier ayuda sería muy apreciada. Gracias.Java trackpad 2-finger scroll listener
Respuesta
Si se trata de escuchar pergaminos de usuario, puede hacerlo agregando un MouseWheelListener a su control. Ver How to Write a Mouse-Wheel Listener para más información.
Si se trata de detectar eventos específicos del trackpad y no del mouse, no conozco ninguna característica de Java para implementar esto.
esto es algo así como dos, quiero escuchar los rollos de usuario que se originan en un panel táctil, los enlaces que me proporcione serán útiles pero no funcionan para lo que necesito (Estoy en un Mac si eso hace alguna diferencia). – Joe
Estaba buscando en Google cualquier problema entre MouseWheelListener y Mac OS y lo único que pude encontrar fue una confirmación de que MouseWheelListener era el camino a seguir: http://lists.apple.com/archives/java-dev/2008/Jun/ msg00169.html Lo siento si eso no funciona para usted, lo probaré en mi propia Mac si puedo encontrar la hora en casa. –
bien ... tal vez es el IDE que estoy usando no puede, no registrará o no se desplaza. Estoy usando Processing y todos los oyentes funcionan, excepto MouseWheelListener. verifico en su foro para cualquier cosa. gracias por tu respuesta. – Joe
Hice este programa de ejemplo
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);
}
}
se imprimirá si el desplazamiento es horizontal o vertical y la cantidad del desplazamiento fue cuando se desplaza dentro de la ventana abierta en un Mac con una pantalla táctil.
Finalmente una respuesta que escuchará el desplazamiento nativo. Mire mi pregunta y respuesta aquí: https://stackoverflow.com/a/31190973/155137
El proyecto también detecta gestos de desplazamiento y los informa muy bien. El desplazamiento es tan suave como una aplicación de cacao nativo.
- 1. Make "scrollLeft"/"scrollTop" cambios no desencadenan scroll event listener
- 2. Android: listener listener
- 3. Scala Listener/Observer
- 4. Explorador de eventos Scroll javascript
- 5. desplazamiento suave/scroll inercial/impulso scroll
- 6. jQuery añadir y eliminar $ (ventana) .scroll (function()?
- 7. JQuery - ¿Puedo consultar el MacBook Pro Trackpad?
- 8. java.lang.IllegalStateException durante el uso de Document Listener en TextArea, Java
- 9. JTable listener problem
- 10. Animación Android Listener
- 11. CSS Property Change Listener
- 12. Spinner con Click Listener
- 13. SwitchPreference onChecked/onClick Listener
- 14. Android - event listener
- 15. android edittext onchange listener
- 16. onclick listener en android
- 17. Java Swing: usar JScrollPane y tenerlo scroll back to top
- 18. Cómo usar mi trackpad para desplazamiento horizontal de la rueda del mouse en un ScrollPane de Java AWT
- 19. scroll rápido custom thumb
- 20. GridView con scroll horizontal
- 21. Android Scroll Pagination
- 22. ListView get scroll position?
- 23. Moving Div with Scroll
- 24. jQuery-autocomplete scroll issue
- 25. Fading Element on Scroll
- 26. DIV auto scroll
- 27. UITableView scroll direction
- 28. Listener UDP responda al cliente
- 29. Listener androide despedir menú contextual
- 30. JavaScript Custom Listener de evento
El desplazamiento de dos dedos dependerá del hardware, ¿no? –
¿Tiene que distinguir entre un desplazamiento del ratón y un desplazamiento del panel táctil? –
@KevinD - es posible, solo me preguntaba que dado que Java es independiente de la plataforma, podría haber una solución – Joe