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