RCP アプリケーションで、SWT ブラウザーに GWT ベースの Web アプリケーションを表示しています。
私の目標は、GWT アプリケーション内から Java メソッドを呼び出すことです。
私が理解している最も簡単な方法は、Web アプリケーション内から呼び出すことができる Java メソッドを挿入する SWT BrowserFunction を使用することです。
何らかの理由で、私はそれを機能させることができません...
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);
}
};
}
onModuleLoad の一部として GWT EntryPoint でメソッドを呼び出しています。
private native void fireRCPEvent(String rcpEventJSON) /*-{
try{
onGWTEvent(rcpEventJSON);
} catch(e) {
alert(e.message)
}
SWT ブラウザを介して GWT と RCP 間の通信を確立する方法はありますか?