Windows平板设备JavaFX无法捕获TouchEvents触摸事件如何配置?
JavaFX Windows平台触摸事件(TouchEvent)不触发解决方案
核心问题原因
你当前在代码中设置系统属性的时机晚于JavaFX Glass窗口引擎的初始化流程,配置未生效,同时缺少Windows平台专属的触摸启用参数。
修正步骤
- 移除代码main方法中两行
System.setProperty配置,所有参数改为JVM启动参数传入,必须在JVM启动时就加载配置 - 新增Windows平台专属触摸启用参数,完整启动参数如下:
-Dcom.sun.javafx.touch=true -Dcom.sun.javafx.isEmbedded=true -Dglass.win.touch=true
- 如果你使用jpackage、jlink打包发布应用,需要将上述参数配置到打包脚本的启动参数列表中,不要硬编码在业务代码里
验证逻辑
调整参数后重新运行测试代码,触摸屏幕即可在控制台看到scene touch event相关日志输出,多点触控操作会生成多个触摸点的事件回调。
内容的提问来源于stack exchange,提问作者Waverick
相关产品推荐
相关产品推荐

