Java 如何在Eclipse插件+;RCP
我正在使用Eclipse开发一个使用JFace+RCP的电子邮件客户端插件。我没有使用eclipse开发任何屏幕,邮件客户端将是这个插件的屏幕Java 如何在Eclipse插件+;RCP,java,eclipse,eclipse-rcp,jface,rcp,Java,Eclipse,Eclipse Rcp,Jface,Rcp,我正在使用Eclipse开发一个使用JFace+RCP的电子邮件客户端插件。我没有使用eclipse开发任何屏幕,邮件客户端将是这个插件的屏幕 我想获得用户在客户端中单击的位置。您可以使用Display的addFilter方法添加一个侦听器,该侦听器为SWT代码中的所有鼠标按下事件调用: Display display = Display.getDefault(); display.addFilter(SWT.MouseDown, new Listener() { @Overrid
我想获得用户在客户端中单击的位置。您可以使用
Display
的addFilter
方法添加一个侦听器,该侦听器为SWT代码中的所有鼠标按下事件调用:
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));
}
}
});
传递给handleEvent
的事件
具有鼠标按下事件的x
和y
字段-这些字段与包含事件的控件相关。控件在窗口小部件
字段中给出。我已经显示了将这些值转换为绝对显示值的代码
注意:这仅适用于当前应用程序中的鼠标按下事件,并且仅适用于SWT代码。在过去,Lotus Notes使用了很多本机代码,但这些代码都不起作用,我不知道这种情况是否仍然存在。谢谢您的回答。我尝试了
ActionSetHandler
类,该类实现了IWorkbenchWindowActionDelegate
,但出现了一些错误。我更新了我的问题,请看一下。您的事件导入错误。它必须是org.eclipse.swt.widgets.Event
谢谢greg,很好。是否有可能获取单击图像的工具提示?我的问题中包括了屏幕。因为显示器的尺寸不同,不知道。这取决于显示工具提示的控件及其操作方式。无论如何,这是一个单独的问题。接受这个答案,并尽可能详细地问一个新问题(如活动中的细节)。