这是帮助实现常用 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);
}
}