Pregunta

Anticipando el día en que las interfaces multitáctiles se torna más difundido, hay bibliotecas en Java que se pueden utilizar para el desarrollo de aplicaciones táctiles? Busco interfaces similares a MouseListener / MouseMotionListener / MouseWheelListener.

¿Fue útil?

Solución

El proyecto MT4j tiene todo lo necesario para desarrollar aplicaciones multitáctiles en Java. Todos los gestos multitoque conocidos ya están construidas y se puede acceder tan simple como escuchar a los eventos del ratón (por ejemplo: component.addGestureListener (..)). También cuenta con un escenario gráfico acelerado por hardware, similar a JavaFX. Incluso se puede simular la entrada multitáctil mediante la conexión de uno o más ratones a su máquina. Compruébelo usted mismo en http://www.mt4j.org

Otros consejos

Sparsh se encuentra todavía en mis marcadores desde la última vez que estaba investigando java multitáctil soluciones.

Aunque no es tan sencillo como el oyente típico ratón o haga clic oyente, que todavía proporciona una interfaz razonable.

Es necesario que su clase de escucha para implementar sparshui.client.Client, lo que requiere la definición processEvent método.

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 del marco.

Estoy trabajando principalmente en el procesamiento y el diseño de mi interfaz de usuario desde cero. He estado buscando una solución que no prescribe un marco de interfaz de usuario, que tanto MT4J y JavaFX parecen hacer. Además, MT4J parece ser abandonado.

Esto parece ser una solución prometedora al menos para Windows, pero estoy seguro si en realidad es liberado todavía: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials

Este 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 . No son diferentes de escucha para eventos táctiles. Pero no es posible procesar dos gestos al mismo tiempo, ya que todos los puntos de contacto se fusionarán para un gesto. Para las grandes pantallas multi touch es una disadvange. Para las pantallas normales, donde es sólo un usuario está bien.

Pero también hay GestureWorks . No se puede definir nuevo gesto o utilizar el gesto predefinido. Los gestos se definen en un archivo XML (llamados GML). Cualquier objeto puede manejar allí propios gestos. Pero hay que poner en práctica el hitTest y la asignación de los puntos manualmente. Pero hay una greate tutorial .

Otra biblioteca, que yo no probé, no está en la Multi Touch SDK por PQ Lab .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top