【发布时间】:2010-12-28 07:59:57
【问题描述】:
我在 SWT.MouseUp 和 SWT.MouseDown 事件上为 Shell 附加了一个侦听器,但 handleEvent 方法从未被触发。我尝试单击窗口上的许多地方,但它甚至没有到达下面代码中的 System.out.println(..)...
你发现这里有什么错误吗?
谢谢!
//c is a Composite.
final Listener l = new Listener(){
public void handleEvent(Event event) {
System.out.println("Got event. "+event);
Rectangle rect = c.getBounds();
if (rect.contains(event.x, event.y)){
if((Boolean)c.getData("selected")){
c.setData("selected", Boolean.FALSE);
}else{
c.setData("selected", Boolean.TRUE);
}
}
}
};
c.getShell().addListener(SWT.MouseUp, l);
c.getShell().addListener(SWT.MouseDown, l);
(此组合位于使用 Forms Toolkit 的 Eclipse 编辑器中)
问候,
-Pradyumna
【问题讨论】:
标签: swt mouseevent listener