Question

Anticiper le jour où les interfaces multi-touch deviennent plus omniprésentes, sont là des bibliothèques Java qui peuvent être utilisés pour développer des applications tactiles? Je suis à la recherche d'interfaces similaires à MouseListener / MouseMotionListener / MouseWheelListener.

Était-ce utile?

La solution

Le projet MT4j a tout ce dont vous avez besoin pour développer des applications multitouch en java. Tous les commentaires sont déjà construits les gestes multitouch bien connus et sont accessibles aussi simple en écoutant les événements de souris (par exemple: component.addGestureListener (..)). Il dispose également d'un graphique de la scène matérielle accélérée, semblable à JavaFX. Vous pouvez même simuler l'entrée multitouch en connectant un ou plusieurs souris à votre machine. Check it out http://www.mt4j.org

Autres conseils

Sparsh est encore dans mes favoris depuis la dernière fois que je faisais des recherches sur multitouch java solutions.

Sans aussi simple que l'auditeur de la souris typique ou cliquez sur écoute, il fournit encore une interface raisonnable.

Vous avez besoin de votre classe d'écoute pour mettre en œuvre sparshui.client.Client, ce qui nécessite la définition de la méthode 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....
}

Après cela, vous devez démarrer le serveur de reconnaissance gestuelle, en passant dans votre composant

new ServerConnection("localhost", objectImplementingClientInterface);

En regardant les exemples de code sur le site devrait vous donner une assez bonne idée du cadre.

Je suis avant tout traitement et travaille dans la conception de mon interface utilisateur à partir du sol. J'ai cherché une solution qui ne prévoit pas un cadre de l'assurance-chômage, qui à la fois MT4J et JavaFX semblent faire. En outre, MT4J semble abandonné.

Cela ressemble à une solution prometteuse au moins pour Windows, mais je ne suis pas sûr si elle est effectivement encore sorti: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials

Ceci est spécifiquement pour le traitement, multi-plateforme, open-source et active: https://github.com/vialab/SMT

MT4J ne fonctionne pas avec Windows 8.

Si le applicatin est seulement pour un utilisateur, vous pouvez utiliser JavaFX . Il existe différents écouteur pour les événements tactiles. Mais il est impossible de traiter deux gestes en même temps, parce que tous les points de fusionneront pour un seul geste. Pour les grands écrans multi-touch est un disadvange. Pour les écrans normaux, où est qu'un seul utilisateur son ok.

Mais il y a aussi GestureWorks . Là, vous pouvez définir de nouveaux gestes ou utiliser le geste prédéfini. Les gestes sont définis dans un fichier XML (appelé GML). Tout objet peut gérer des gestes propres là. Mais vous devez mettre en œuvre le hitTest et l'attribution de points manuellement. Mais il y a une tutoriel greate.

Une autre bibliothèque, que je ne n'a pas été testé, ist Multi Touch SDK PQ Lab .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top