我正在使用Eclipse为使用JFace + RCP的电子邮件客户端开发一个插件。我没有使用eclipse开发任何屏幕,邮件客户端将是这个插件的屏幕。
我希望用户点击用户点击位置。
答案 0 :(得分:1)
您可以使用addFilter
的{{1}}方法添加在SWT代码中为所有鼠标按下事件调用的侦听器:
Display
传递给Display display = Display.getDefault();
display.addFilter(SWT.MouseDown, new Listener()
{
@Override
public void handleEvent(Event event)
{
System.out.println("event " + event);
if (event.widget instanceof Control) {
Control control = (Control)event.widget;
System.out.println("display " + control.toDisplay(event.x, event.y));
}
}
});
的{{1}}包含鼠标按下事件的Event
和handleEvent
字段 - 这些字段与包含该事件的控件相关。控件在x
字段中给出。我已经展示了将这些值转换为绝对显示值的代码。
注意:这仅适用于当前应用程序中的鼠标按下事件,仅适用于SWT代码。在过去,Lotus Notes使用了很多原生代码,但是我不知道是否仍然如此。