Domanda

Anticipando il giorno in cui le interfacce multi-touch diventano più pervasiva, ci sono le librerie in Java che possono essere utilizzati per lo sviluppo di applicazioni touch? Sto cercando per le interfacce simili a MouseListener / MouseMotionListener / MouseWheelListener.

È stato utile?

Soluzione

Il progetto MT4j ha tutto il necessario per sviluppare applicazioni multitouch in Java. Tutti i ben noti gesti multitouch sono già costruiti in ed è possibile accedervi come semplice come l'ascolto di eventi del mouse (per esempio: component.addGestureListener (..)). È inoltre dotato di accelerazione hardware grafico scena, simile a JavaFX. È anche possibile simulare l'input multitouch collegando uno o più topi alla vostra macchina. Check it out a http://www.mt4j.org

Altri suggerimenti

Sparsh è ancora nei miei preferiti dall'ultima volta che stavo indagando java multitouch soluzioni.

Anche se non è così semplice come il tipico ascoltatore del mouse o fare clic ascoltatore, fornisce ancora un'interfaccia ragionevole.

È necessario la classe di ascolto per implementare sparshui.client.Client, che richiede la definizione processEvent metodo.

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....
}

Dopo di che, è necessario avviare il server riconoscimento dei gesti, passando nel componente

new ServerConnection("localhost", objectImplementingClientInterface);

Guardando gli esempi di codice sul sito dovrebbe darvi una buona idea del quadro.

sto lavorando in primo luogo di elaborazione e progettazione di mia interfaccia utente da zero. Sono stato alla ricerca di una soluzione che non prescrivere un framework di interfaccia utente, che sia MT4J e JavaFX sembrano fare. Inoltre, MT4J sembra essere abbandonata.

Questo appare come una soluzione promettente, almeno per Windows, ma io sono sicuro se in realtà è ancora uscito: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials

Questo è specifico per la lavorazione, multipiattaforma, open-source e attiva: https://github.com/vialab/SMT

MT4J non funziona con Windows 8.

Se l'applicatin è solo per un utente, si può usare JavaFX . Ci sono diversi ascoltatore per gli eventi di tocco. Ma non è possibile elaborare due gesti, allo stesso tempo, perché tutti i punti di contatto si fonderanno per un solo gesto. Per grandi schermi multi touch è un disadvange. Per gli schermi normali, dove è solo utente il suo ok.

Ma c'è anche GestureWorks . Ci si può definire nuovo gesto o utilizzare il gesto predefinito. I gesti sono definite in un file XML (chiamato GML). Qualsiasi oggetto può gestire proprio lì gesti. Ma è necessario implementare la hitTest e l'assegnazione punto manualmente. Ma c'è un greate esercitazione .

Un altro biblioteca, che io non testato, ist il Multi Touch SDK da PQ Lab .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top