预计多点触控界面变得更加普及的那一天,Java中是否有可用于开发触控应用程序的库?我正在寻找类似于MouseListener/MouseMotionListener/MouseWheelListener的接口。如何在Java中开发多点触控应用程序?
回答
的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);
看着网站上的代码示例应该给你的框架的一个不错的主意。
嗨韦恩,请避免使用仅链接的答案,因为非现场链接可能会死亡并变得毫无用处。 – 2014-03-02 03:45:47
我主要从事从头开始处理和设计我的用户界面。我一直在寻找一种解决方案,它并没有规定MT4J和JavaFX似乎都在做的UI框架。而且,MT4J似乎被放弃了。
这看起来像至少一个用于Windows的有前途的解决方案,但我不能确定它实际上尚未公布: http://wiki.gestureworks.com/index.php/GestureWorksCore:Gestureworks_Core_Tutorials
这是专门为加工,跨平台的,开放源码的和积极的: https://github.com/vialab/SMT
MT4J如果applicatin只有一个用户,你可以使用JavaFX的不能与Windows 8
工作。触摸事件有不同的监听器。但是无法同时处理两个手势,因为所有触摸点都会合并为一个手势。对于大型多点触摸屏来说,这是一个不利之处。对于正常的屏幕,哪里只有一个用户就可以。
但也有GestureWorks。在那里你可以定义新的手势或使用预定义的手势。手势在XML文件(称为GML)中定义。任何对象都可以处理自己的手势。但是你必须手动实现hitTest和点分配。但有一个greate tutorial。
另一个图书馆,我没有测试,是Multi Touch SDK by PQ Lab。
- 1. 如何开发支持多点触控的3D应用程序?
- 2. Android应用程序的多点触控
- 3. 如何在没有触摸屏的情况下开发WPF多点触控应用程序?
- 4. 多点触控处理程序在javascript中触发单触处理程序
- 5. 如何使多点触控启用iOS应用程序
- 6. iPhone - 在整个应用程序中禁用多点触控
- 7. 在Java中开发点对点应用程序
- 8. Mac在Web应用程序中的多点触控
- 9. 在Java中开发多线程应用程序
- 10. 如何在应用程序中实现单点触摸和多点触摸?
- 11. 如何使用多台显示器实现多点触控应用程序?
- 12. 如何禁用iPhone应用程序中的多点触控功能?
- 13. 启用多点触控/多点触控
- 14. 如何响应java中的Android多点触控
- 15. 在多站点应用程序中开发网页
- 16. Flex/Air - 多点触控液晶显示器的移动多点触控开发
- 17. 如何在java中开发/部署BIG企业应用程序
- 18. 如何在Java中开发LBS/GIS应用程序概述
- 19. 如何在android应用程序开发中加入java SDK?
- 20. 如何检测Windows 8 metro应用程序中的多点触控操作?
- 21. 多点触控开始
- 22. 应用程序打开触发器
- 23. 什么技术用于构建多点触控应用程序?
- 24. iPhone:禁用应用程序的多点触控
- 25. 使用tidesdk的多点触控应用程序
- 26. 是多点触控并发编程吗?
- 27. Android游戏应用程序的多点触控事件处理
- 28. Windows 7上Win32应用程序的多点触控板
- 29. 制作多点触控应用程序的最佳方法
- 30. 基于多点触控钢琴对话框的应用程序
哎哟...真的,你必须'事件'的事件?他们不提供像processDragEvent,processZoomEvent等回调? – 2009-03-09 19:14:39
据我所知,他们只支持通用的“processEvent”调用,因为您可能想要添加非框架本身的自定义手势。这提供了可扩展性,而无需修改框架代码。 – 2009-03-09 19:36:04