有没有办法为ScrollPane实现鼠标滚轮监听器?我看了几个选项:
此外,ScrollPane没有垂直滚动条设计。
答案 0 :(得分:0)
好的,这里的幻数是org.eclipse.swt.widgets.Event.count。此数字表示“使用鼠标滚轮滚动的行数或页数”。结合这个和MouseWheelHelper接口,我能够使用鼠标滚轮进行滚动:
public class MyEditPart extends TreeEditPart implements MouseWheelHelper{
private static final int SCROLL_OFFSET = 10;
...
...
@Override
public void handleMouseWheelScrolled(Event event) {
pane.scrollVerticalTo(pane.getViewport().getVerticalRangeModel().getValue() + (event.count * SCROLL_OFFSET));
}
}
通过更改SCROLL_OFFSET可以控制视口滚动的速度,这很简洁。
唯一要检查的是Event.count的定义:
取决于事件类型,以下数量 绘制待处理的事件,可能始终为零 在某些平台上,或者行数或页数 使用鼠标滚轮滚动,或者滚动的次数 鼠标已被点击
不确定这将如何在其他操作系统上播放。