为了改善我的应用程序的用户体验,id喜欢区分用户不同的鼠标滚动速度和数量,并相应地采取行动以改善我的GUI用户友好性,我该如何分析它?
答案 0 :(得分:0)
这些方法中的第一个,MouseWheelEvent.getPreciseWheelRotation,返回用户旋转鼠标的点击次数,将高分辨率鼠标和触控板考虑在内。此数字的绝对值越高,用户滚动鼠标的速度就越快。
这些方法中的第二个,MouseWheelEvent.getScrollAmount,告诉用户操作系统用于滚动速度的系统设置。使用Windows控制面板或其他平台上的类似工具,用户可以设置滚轮影响界面变化的速度。如果用户设置了非常快的滚轮,您可能应该将中速滚动计为与另一个平台上的非常快速滚动相同。用户要求更快地滚动内容,因此您的应用应该尊重这一点。
当然,您应该保留上次滚动事件的时间(您可以使用System.currentTimeMillis()或System.nanoTime()来衡量时间增量),滚动事件之间的较短间隔通常意味着更快的滚动。一种可能的解决方案是跟踪用户在一段恒定时间内(例如0.1或0.05秒)移动鼠标的总点击次数,并将交互基于累计滚轮点击次数而不是点击次数。发生在每个事件中。