【发布时间】:2011-12-14 11:20:59
【问题描述】:
我已经对此进行了一段时间的研究,但在 SWT MouseWheelListeners 上发现的信息很少。看看你们中是否有人遇到过这种情况,或者有一个可以帮助解释它们的链接。
我正在尝试查找有关 SWT MouseWheelListener 的信息以及如何正确使用它。我正在尝试使用MouseWheelListener 在复合材料上创建缩放效果,在其上绘制多个复合对象。
本质上,当通过以两倍正常大小重新绘制画布、以比例布局重新绘制画布上的对象并将焦点移动到滚轮上的点来向上放大时。
我的问题如下:
是否可以在 Composite 上使用 MouseWheelListener 或者监听器仅适用于滚动复合材料之类的对象(我知道该方法存在;当我尝试在我的对象上滚动时(包括在调试时)什么也没有发生?
如果可能,如何在Composite 上启动MouseScrolledEvent?
如何区分上轮和下轮(e.count 向上为正,向下为负)?
代码如下:
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);
}
【问题讨论】:
-
hmmmm 对我来说仍然没有真正的解决方案stackoverflow.com/questions/7567305/…
-
您的组件必须具有焦点,MouseWheelListener 才能工作。有时,子组件具有焦点。
标签: java swt listener mouse mousewheel