19

マルチタッチ インターフェイスがより普及する日が来ると予想していますが、タッチ アプリケーションの開発に使用できる Java のライブラリはありますか? MouseListener / MouseMotionListener / MouseWheelListener に似たインターフェースを探しています。

4

5 に答える 5

9

MT4j プロジェクトには、Java でマルチタッチ アプリケーションを開発するために必要なものがすべて含まれています。よく知られているマルチタッチ ジェスチャはすべて既に組み込まれており、マウス イベントをリッスンするだけで簡単にアクセスできます (例: component.addGestureListener(..))。また、JavaFX に似たハードウェア アクセラレーション シーン グラフも備えています。1 つまたは複数のマウスをマシンに接続して、マルチタッチ入力をシミュレートすることもできます。http://www.mt4j.orgで確認してください。

于 2009-09-06T12:56:55.017 に答える
5

Sparshは、前回マルチタッチJavaソリューションを調査していたときからまだブックマークに残っています。

通常のマウスリスナーやクリックリスナーほど単純ではありませんが、それでも妥当なインターフェイスを提供します。

を実装するにはリスニングクラスが必要です。sparshui.client.Clientこれには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....
}

その後、ジェスチャ認識サーバーを起動して、コンポーネントを渡す必要があります

new ServerConnection("localhost", objectImplementingClientInterface);

サイトのコード例を見ると、フレームワークについてかなり良いアイデアが得られるはずです。

于 2008-12-15T19:10:08.587 に答える
1

これはどうですか: http://kenai.com/projects/macmultitouch

于 2009-08-20T16:59:24.010 に答える