预计多点触控界面变得越来越普遍的日子,Java中的库是否可以用于开发触摸应用程序?我正在寻找类似于MouseListener/MouseMotionListener/MouseWheelListener的接口.
MT4j项目拥有在java中开发多点触控应用程序所需的一切.所有众所周知的多点触控手势都已内置,并且可以像收听鼠标事件一样简单地访问(例如:component.addGestureListener(..)).它还具有硬件加速场景图,类似于JavaFX.您甚至可以通过将一个或多个鼠标连接到您的机器来模拟多点触控输入.请访问http://www.mt4j.org查看
从我上次调查多点触控java解决方案开始,Sparsh仍在我的书签中.
虽然不像典型的鼠标监听器或点击监听器那样直截了当,但它仍然提供了合理的界面.
您需要实现您的侦听类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);
查看网站上的代码示例应该会让您对框架有一个很好的了解.