Frage

den Tag antizipieren, wenn Multi-Touch-Schnittstellen werden weiter verbreitet, gibt es Bibliotheken in Java, die für die Entwicklung von Touch-Anwendungen verwendet werden kann? Ich suche nach Schnittstellen ähnlich wie Mouselistener / Mouse / MouseWheelListener.

War es hilfreich?

Lösung

Das MT4j Projekt hat alles, was Sie Multi-Touch-Anwendungen in Java entwickeln müssen. Alle bekannten Multitouch-Gesten sind bereits eingebaut und kann so einfach zugegriffen werden wie Hören auf Mausereignisse (zum Beispiel: component.addGestureListener (..)). Es verfügt auch über eine Hardware-beschleunigte Szenengraph, ähnlich wie JavaFX. Sie können auch Multi-Touch-Eingabe simulieren, indem Sie Ihr Gerät ein oder mehr Mäuse anschließen. Check it out unter http://www.mt4j.org

Andere Tipps

Sparsh ist immer noch in meinen Lesezeichen aus dem letzten Mal, wenn ich Multi-Touch-Java-Untersuchung wurde Lösungen.

Obwohl es nicht so einfach wie die typische Maus Hörer oder Zuhörer klicken, ist es noch eine vernünftige Schnittstelle bereitstellt.

Sie müssen Ihre hörende Klasse sparshui.client.Client zu implementieren, die die processEvent Methodendefinition erfordert.

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

Danach müssen Sie die Gestenerkennung Server starten, in der Komponente vorbei

new ServerConnection("localhost", objectImplementingClientInterface);

auf der Website unter den Codebeispielen der Suche sollten Sie eine ziemlich gute Vorstellung des Frameworks.

Ich arbeite in erster Linie in der Verarbeitung und meine UI von Grund auf neu zu entwerfen. Ich habe nach einer Lösung gesucht, die keine UI-Framework vorschreibt, die sowohl MT4J und JavaFX erscheinen zu tun. Darüber hinaus scheint MT4J aufgegeben werden.

Das sieht aus wie eine vielversprechende Lösung zumindest für Windows, aber ich bin nicht sicher, ob es noch tatsächlich freigegeben ist: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials

Dies ist speziell für die Verarbeitung, plattformübergreifende Open-Source und aktiv: https://github.com/vialab/SMT

MT4J funktioniert nicht mit Windows 8

Wenn die applicatin nur für einen Benutzer ist, können Sie verwenden JavaFX . Es gibt verschiedene Zuhörer für Touch-Ereignisse. Aber es ist nicht möglich, zwei Gesten gleichzeitig zu verarbeiten, da alle Berührungspunkte zu einer Geste fusionieren. Für großes Multi-Touch-Screens ist es ein disadvange. Für normale Bildschirme, wo ist nur ein Benutzer seine Ordnung.

Aber es gibt auch GestureWorks . Dort können Sie neue Geste definieren oder die vordefinierte Geste verwenden. Die Gesten werden in einer XML-Datei definiert wird (GML). Jedes Objekt kann dort eigene Gesten verarbeiten. Aber müssen Sie manuell die hitTest und die Punktevergabe umzusetzen. Aber es gibt eine greate Tutorial .

Eine andere Bibliothek, die ich nicht getestet haben, ist der Multi Touch SDK von PQ Lab .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top