Anticipando el día en que las interfaces multitáctiles se vuelven más penetrantes, ¿hay bibliotecas en Java que se puedan usar para desarrollar aplicaciones táctiles? Estoy buscando interfaces similares a MouseListener/MouseMotionListener/MouseWheelListener.¿Cómo desarrollar aplicaciones multitáctiles en Java?
Respuesta
proyecto El MT4j tiene todo lo necesario para desarrollar aplicaciones multitáctiles en Java. Todos los gestos multitáctiles bien conocidos ya están incorporados y se puede acceder tan simple como como escuchar eventos del mouse (por ejemplo: component.addGestureListener (..)). También presenta un gráfico de escena acelerado por hardware, similar a JavaFX. Incluso puede simular la entrada multitáctil conectando uno o más ratones a su máquina. Échale un vistazo a http://www.mt4j.org
Sparsh sigue en mis marcadores desde la última vez que estuve investigando soluciones java multitouch.
Aunque no es tan sencillo como el oyente de mouse típico o el oyente de clic, sigue ofreciendo una interfaz razonable.
Necesita su clase de escucha para implementar sparshui.client.Client
, que requiere la definición del método processEvent
.
public void processEvent(int groupID, Event event) {
if(event instanceof TouchEvent) {
TouchEvent e = (TouchEvent)event;
if(e.getState() == TouchState.BIRTH) {
//do initial touch stuff
} else if(e.getState() == TouchState.MOVE) {
//do dragging stuff
}
}
else if(event instanceof DragEvent) {
DragEvent e = (DragEvent)event;
//do DragEvent specific stuff
} else if(event instanceof RotateEvent) {
RotateEvent e = (RotateEvent)event;
//do RotateEvent specific stuff
} else if(event instanceof ZoomEvent) {
ZoomEvent e = (ZoomEvent)event;
//do ZoomEvent specific stuff
}
//several other gesture types....
}
Después de eso, es necesario poner en marcha el servidor de reconocimiento de gestos, pasando en su componente
new ServerConnection("localhost", objectImplementingClientInterface);
En cuanto a los ejemplos de código en el sitio debe darle una idea bastante clara de la estructura.
Ouch ... realmente, tienes que 'instanciar' los eventos? No proporcionan devoluciones de llamada como, processDragEvent, processZoomEvent, etc. –
Que yo sepa, solo admiten una llamada genérica de "processEvent" porque es posible que desee agregar gestos personalizados que no sean nativos del marco. Esto proporciona esa extensibilidad sin tener que modificar el código de la estructura. –
¿Qué tal esto: http://kenai.com/projects/macmultitouch
Hola Wayne, por favor absténgase de usar respuestas de solo enlace ya que los enlaces externos pueden morir y volverse inútiles. –
Principalmente estoy trabajando en el procesamiento y diseño de mi interfaz de usuario desde cero. He estado buscando una solución que no prescriba un marco de interfaz de usuario que parezca que hacen tanto MT4J como JavaFX. Además, MT4J parece estar abandonado.
Esto parece ser una solución prometedora al menos para Windows, pero estoy seguro si en realidad es liberado aún: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials
Esto es específicamente para el procesamiento, multiplataforma, de código abierto y activo: https://github.com/vialab/SMT
MT4J no funciona con Windows 8.
Si el Applicatin es sólo para un usuario, puede utilizar JavaFX . Hay diferentes oyentes para eventos táctiles. Pero no es posible procesar dos gestos al mismo tiempo, porque todos los puntos de contacto se fusionarán en un solo gesto. Para pantallas táctiles grandes es una desventaja. Para pantallas normales, donde solo hay un usuario está bien.
Pero también existe GestureWorks. Allí puede definir un nuevo gesto o usar el gesto predefinido. Los gestos se definen en un archivo XML (llamado GML). Cualquier objeto puede manejar sus propios gestos. Pero debe implementar manualmente la prueba de hit y la asignación de puntos. Pero hay un greate tutorial.
Otra biblioteca, que no he probado, es la Multi Touch SDK by PQ Lab.
- 1. Cómo desarrollar aplicaciones de Windows
- 2. ¿Cómo desarrollar aplicaciones IronPython en Mono?
- 3. Mejor IDE para desarrollar aplicaciones de escritorio Java
- 4. ¿Cómo diseñar aplicaciones Java?
- 5. ¿Cómo desarrollar aplicaciones OpenGL ES (GLES) 2.0 en Linux?
- 6. Cómo desarrollar aplicaciones de reconocimiento de voz como hablar tom
- 7. ¿puedo desarrollar aplicaciones de Android usando gwt?
- 8. ¿La programación de gestos multitáctiles está disponible en las aplicaciones iOS de Delphi Firemonkey?
- 9. ¿Puedo desarrollar aplicaciones Blackberry usando C# .NET en windows7
- 10. ¿Puedes desarrollar aplicaciones nativas para iPhone en Ruby?
- 11. Mejores prácticas para desarrollar aplicaciones más grandes en Android
- 12. Cómo desarrollar en Java en Mac con OSX Lion
- 13. ¿Qué herramientas usas para desarrollar aplicaciones C++ en Linux?
- 14. ¿Es posible desarrollar aplicaciones de DirectX en Linux?
- 15. Buen IDE basado en Android para desarrollar aplicaciones de Android
- 16. Desarrollar aplicaciones de iOS en un hackintosh: ¿puedo lanzarlo en la tienda de aplicaciones de Apple?
- 17. ¿cómo puedo desarrollar Apple Java Extensions en Windows?
- 18. ¿Cómo desarrollar gemas?
- 19. ¿Podemos ejecutar aplicaciones Java en iPhone?
- 20. Cómo aprender a diseñar aplicaciones en Java
- 21. cómo desarrollar aplicaciones en el servidor (como chat en vivo) en sdl tridion?
- 22. Gestos multitáctiles en la aplicación web en el escritorio
- 23. ¿Existe un marco multiplataforma para desarrollar aplicaciones de iPhone/Android?
- 24. ¿Debo usar PHP/MySQL puro para desarrollar aplicaciones web?
- 25. ¿Es posible desarrollar aplicaciones para iPhone con Hackintosh?
- 26. ¿Es seguro desarrollar aplicaciones web con especificaciones de HTML 5?
- 27. Gotchas de pasar de desarrollar ASP.NET a aplicaciones de Winforms
- 28. Desarrollar aplicaciones para Android usando Html, Css y JavaScript
- 29. ¿Hay una guía de estilo para desarrollar aplicaciones SWT?
- 30. ¿Es posible desarrollar aplicaciones de Android con visual studio 2010?
¿Permite MT4j al desarrollador crear nuevos gestos multitáctiles, además de los incorporados? No aparente de inmediato de la lista de características de MT4j en la página web. –
Sí, MT4j ciertamente permite crear nuevos gestos multitáctiles, ya que es un requisito muy importante para las aplicaciones multitáctiles. Todo lo que tiene que hacer es crear un nuevo procesador de entrada y registrarlo con un componente. Los tutoriales que muestran cómo hacerlo llegarán pronto. Hasta entonces, puedes mirar el código fuente de los gestos existentes. –
MT4j se ve muy bien, desafortunadamente es GPL y por lo tanto no es adecuado para aplicaciones comerciales. – hendrik