作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了改善我的应用程序的用户体验,我想区分用户不同的鼠标滚轮速度和数量,并采取相应的行动来提高我的 GUI 用户友好度,我该如何分析?
最佳答案
罗伯特·哈维在评论中提出了很好的建议,但还不够。 MouseWheelEvent 传递到 MouseWheelListener.mouseWheelMoved包含一些在事件之间的时间之外您应该考虑的属性。具体来说:
第一个方法 MouseWheelEvent.getPreciseWheelRotation 返回用户旋转鼠标的点击次数,同时考虑到高分辨率鼠标和触控板。该数字的绝对值越高,用户滚动鼠标的速度越快。
第二个方法,MouseWheelEvent.getScrollAmount,告诉用户操作系统用于滚动速度的系统设置。使用 Windows 控制面板或其他平台上的类似工具,用户可以设置滚轮影响界面变化的速度。如果用户设置了非常快的滚轮,您可能应该将中速滚动视为与另一个平台上的非常快的滚动相同。用户要求内容滚动得更快,因此您的应用程序应该尊重这一点。
当然,您应该保留最后一个滚动事件的时间(您可以使用 System.currentTimeMillis() 或 System.nanoTime() 来测量时间增量),并且滚动事件之间的较短间隔通常意味着更快的滚动。一种可能的解决方案是跟踪用户在某个恒定时间段(例如 0.1 或 0.05 秒)内移动鼠标的总点击次数,并根据累积的滚轮点击次数而不是实际点击次数来进行交互。发生在每个事件中。
关于java - 区分鼠标滚轮的快慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12168719/
我是一名优秀的程序员,十分优秀!