在 RCP 应用程序中,我在 SWT 浏览器中显示基于 GWT 的 Web 应用程序。
我的目标是从 GWT 应用程序中调用 Java 方法。
据我了解,最简单的方法是使用 SWT BrowserFunction,它注入了一个 java 方法,我可以从 web 应用程序中调用该方法。
由于某种原因,我无法让它工作......
在 RCP 中,我定义了以下内容
public class GWTBrowserView extends ViewPart {
private GWTBrowser browser;
@Override
public void createPartControl(final Composite parent) {
this.browser = new GWTBrowser(parent, SWT.NONE);
this.browser.setUrl("url of gwt app");
new BrowserFunction(this.browser, "onGWTEvent") {
@Override
public Object function(final Object[] arguments) {
// Do something fancy
return super.function(arguments);
}
};
}
在我的 GWT EntryPoint 作为 onModuleLoad 的一部分,我正在调用方法:
private native void fireRCPEvent(String rcpEventJSON) /*-{
try{
onGWTEvent(rcpEventJSON);
} catch(e) {
alert(e.message)
}
任何想法如何通过 SWT 浏览器建立 GWT 和 RCP 之间的通信?