マルチタッチ インターフェイスがより普及する日が来ると予想していますが、タッチ アプリケーションの開発に使用できる Java のライブラリはありますか? MouseListener / MouseMotionListener / MouseWheelListener に似たインターフェースを探しています。
5 に答える
MT4j プロジェクトには、Java でマルチタッチ アプリケーションを開発するために必要なものがすべて含まれています。よく知られているマルチタッチ ジェスチャはすべて既に組み込まれており、マウス イベントをリッスンするだけで簡単にアクセスできます (例: component.addGestureListener(..))。また、JavaFX に似たハードウェア アクセラレーション シーン グラフも備えています。1 つまたは複数のマウスをマシンに接続して、マルチタッチ入力をシミュレートすることもできます。http://www.mt4j.orgで確認してください。
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);
サイトのコード例を見ると、フレームワークについてかなり良いアイデアが得られるはずです。
これはどうですか: http://kenai.com/projects/macmultitouch