有没有人在Surface Pro或其他Microsoft Wacom笔平台上找到Java Swing鼠标事件计时的解决方案?
目标是在绘图类型应用程序中创建响应笔划输入,包括在笔划开始时。
在运行Windows 8的Surface Pro上会出现此问题。我之前在运行XP的Toshiba TabletPC上观察过它。在这两种设备上,我相信笔式传感器是Wacom。
问题在于mousePressed和mouseDragged事件的时间安排。一个简单的程序将使mousePressed事件启动一个笔划,随后的mouseDragged事件会为其添加点。
表面上看,鼠标和笔在触发这些事件时的行为应该相似。
但实际上我发现时间差别很大。使用鼠标,mouseDragged事件发生在mousePressed事件后约8毫秒。凉。
然而,使用笔,行为很奇怪。触及笔时,会立即触发mousePressed事件。但是在第一个mouseDragged事件发送之前有一个显着的延迟。这破坏了笔划的开始。调用System.currentTimeMillis()会返回欺骗性答案。这些调用表示mousePressed事件和后续mouseDragged事件发生在SAME时间。这是不可能的,因为事件位置大不相同。
O / S,Wacom驱动程序和Java之间肯定会发生一些有趣的事情。有没有人遇到这个,或者更好的解决方案?