我已经对此进行了一段时间的研究,发现关于SWT MouseWheelListeners
的信息很少。寻找您中是否有人遇到过这个问题,或者是否有指向某个链接的内容来帮助他们进行解释。
我试图找出有关SWT MouseWheelListener
的信息以及如何正确使用它。我试图使用MouseWheelListener
在合成上创建缩放效果,该合成在其上绘制多个合成对象。
从本质上讲,当向上拉动放大时,请以两倍于正常大小的大小重新绘制画布,以比例布局重新绘制画布上的对象,然后将焦点移至向上移动的点。
我的问题如下:
是否可以在Composite上使用MouseWheelListener
或仅对滚动复合之类的对象使用侦听器(我知道该方法在那里;当我尝试在对象上滚动(包括调试时)时,什么也没发生?
如果可能,如何在MouseScrolledEvent
上启动Composite
?
如何区分上轮和下轮(例如,向上计数为正,向下计数为负)?
代码如下:
public TagCloudComposite(Composite parent, int style) {
super(parent, style);
addMouseWheelListener(new MouseWheelListener() {
public void mouseScrolled(MouseEvent e) {
int count = e.count;
System.out.println(count);
// int direction = (Math.abs(count) > 0) ? UP : DOWN;
// changeBackground(direction);
}
});
this.setLayout(new FillLayout());
this.setMinWeight(1);
this.setMaxWeight(100);
c = new Composite(this, SWT.NONE);
this.setSize(300, 200);
}
最佳答案
你是对的。 “计数”在这里表示滚动行数(在Windows中默认为3或-3)