首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分快速和缓慢的鼠标旋转

区分快速和缓慢的鼠标旋转
EN

Stack Overflow用户
提问于 2012-08-29 06:58:50
回答 1查看 242关注 0票数 1

为了改善我的应用程序的用户体验,我想区分用户不同的鼠标滚动速度和数量,并采取相应的措施来提高我的GUI用户的自由度,我如何分析它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-29 07:21:29

Robert Harvey在评论中提出了一个很好的建议,但还不够深入。传递给MouseWheelListener.mouseWheelMoved的MouseWheelEvent包含一些属性,除了事件之间的时间之外,您应该考虑这些属性。具体地说:

MouseWheelEvent.getPreciseWheelRotation.

  • The

  • 返回的点击量,用户每次点击要滚动的数量,由MouseWheelEvent.getScrollAmount返回。请注意,除非是MouseWheelEvent.getScrollType。除非此方法返回MouseWheelEvent.WHEEL_UNIT_SCROLL,否则MouseWheelEvent.getScrollAmount将返回一个未定义的值。

第一个方法是MouseWheelEvent.getPreciseWheelRotation,它返回用户旋转鼠标的点击次数,并将高分辨率鼠标和触控板考虑在内。此数字的绝对值越高,用户滚动鼠标的速度就越快。

这些方法中的第二个是MouseWheelEvent.getScrollAmount,它告诉系统设置用户的操作系统使用的滚动速度。使用Windows控制面板或其他平台上的类似工具,用户可以设置滚轮影响界面更改的速度。如果用户设置了非常快的滚轮,您可能应该将中速滚动计算为与另一个平台上的非常快的滚动相同。用户要求更快地滚动,所以你的应用程序应该尊重这一点。

当然,您应该保留最后一个滚动事件的时间(您可以使用System.currentTimeMillis()System.nanoTime()来测量时间增量),并且滚动事件之间的间隔越短,通常意味着滚动速度越快。一种可能的解决方案是跟踪用户在某个恒定的时间段内移动鼠标的总点击次数,例如0.1秒或0.05秒,并基于滚动轮点击的累积次数而不是每个事件中发生的点击次数来进行交互。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12168719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档