如何在Microsoft笔设备上获得准确的Java Swing鼠标事件?

时间:2013-04-05 02:09:10

标签: java swing mouseevent pen wacom

有没有人在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之间肯定会发生一些有趣的事情。有没有人遇到这个,或者更好的解决方案?

0 个答案:

没有答案