这是帮助实现常用 mousewheellistener 的便捷方法,以使 scrollpane 或 jscrollpane 的滚动量符合平台的设置。(注意,scrollpane 和 jscrollpane 已内置了此功能。)
当滚动类型是 mousewheelevent.wheel_unit_scroll 时,此方法返回要滚动的单位数,只有在 getscrolltype 返回 mousewheelevent.wheel_unit_scroll 时才应该调用此方法。
滚动方向、滚轮移动量和滚轮滚动的平台设置都要考虑在内。此方法没有也不能考虑 adjustable/scrollable 单位增量值,因为该值随滚动组件的不同而不同。
以下简化的示例说明了在侦听器中如何使用此方法:
mousewheelmoved(mousewheelevent event) {
scrollpane sp = getscrollpanefromsomewhere();
adjustable adj = sp.getvadjustable()
if (mousewheelevent.getscrolltype() == wheel_unit_scroll) {
int totalscrollamount =
event.getunitstoscroll() *
adj.getunitincrement();
adj.setvalue(adj.getvalue() + totalscrollamount);
}
}
- 返回:
- 根据鼠标滚轮旋转的方向和旋转量,以及本机平台的滚轮滚动设置所得出的滚动单位数
- 另请参见:
getscrolltype(),
getscrollamount(),
mousewheellistener,
adjustable,
adjustable.getunitincrement(),
scrollable,
scrollable.getscrollableunitincrement(java.awt.rectangle, int, int),
scrollpane,
scrollpane.setwheelscrollingenabled(boolean),
jscrollpane,
jscrollpane.setwheelscrollingenabled(boolean)