如何用Java开发多点触控应用程序?

2022-09-02 13:48:27

预见到多点触控界面变得更加普遍的那一天,Java中是否有可用于开发触控应用程序的库?我正在寻找类似于MouseListener / MouseMotionListener / MouseWheelListener的接口。


答案 1

MT4j项目拥有在java中开发多点触控应用程序所需的一切。所有众所周知的多点触控手势都已经内置,可以像监听鼠标事件一样简单地访问(例如:component.addGestureListener(..))。它还具有硬件加速场景图,类似于JavaFX。您甚至可以通过将一只或多只鼠标连接到机器来模拟多点触控输入。查看详情 http://www.mt4j.org


答案 2

Sparsh仍然在我的书签中,从我上次研究多点触控Java解决方案开始。

虽然不像典型的鼠标侦听器或单击侦听器那样直接,但它仍然提供了合理的接口。

您需要侦听类来实现 ,这需要方法定义。sparshui.client.ClientprocessEvent

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);

查看网站上的代码示例应该可以让您对框架有一个很好的了解。


推荐