题
预见当多点触摸接口变得越来越普遍,在那里在Java库可用于开发触摸应用一天?我正在寻找类似的MouseListener /的MouseMotionListener / MouseWheelListener的接口。
解决方案
在MT4j项目有你需要的Java开发多点触摸应用程序的一切。 所有著名的多点触控手势已经建成,可以作为简单的访问 边听鼠标事件(例如:component.addGestureListener(..))。 它还采用了硬件加速的场景图,类似的JavaFX。 你甚至可以通过一个或多个小鼠连接到您的计算机模拟多点触摸输入。 检查它在 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);
看着网站上的代码示例应该给你的框架的一个不错的主意。
我主要是在加工工作,从底层向上设计我的UI。我一直在寻找它并没有规定这两种MT4J和JavaFX似乎做一个UI框架的解决方案。此外,MT4J似乎被抛弃。
这看起来至少一个用于Windows的有前途的解决方案,但我不能确定它实际上尚未公布: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials
这是专门为处理中,跨平台,开源和活性: https://github.com/vialab/SMT
<强> MT4J 强>不与Windows 8.工作
如果该applicatin是仅对于一个用户,可以使用 JavaFX的即可。有触摸事件不同的听众。但它无法处理在同一时间两个手势,因为所有接触点会合并成一个姿态。对于大的多触摸屏是一个disadvange。对于普通的屏幕,其中只有一个用户的确定。
但是,还有的 GestureWorks 即可。在那里,你可以定义新的手势或使用预定义手势。这些手势在一个XML文件中定义(称为GML)。任何对象都可以处理有自己的手势。但是,你必须手动执行则hitTest和点分配。但是有一个马丽娟教程。
的另一种文库,其我不测试IST的多点触摸SDK由PQ实验室一>