3

我想从浏览器控制台执行一些 js 方法来调用 gwt 代码。例如。

显示我的窗口();

js:

function showMyWindow() {
// call gwt code from here MyWindow::showMe()
}

重量:

class MyWindow extends Window {
  public static showMe {
    MyWindow wnd = new MyWindow();
    wnd.show();
  }
}

怎么做?谢谢。

4

1 回答 1

8

JSNI 文档中关于从手写 Javascript 调用 GWT Java中所述,您需要公开 showMyWindow 函数,以便可以调用其他 javascript。在你想在 JS 中实际调用 showMyWindow 之前的某个时间,运行一个像这样的函数。

public static native void exportShowMe() /*-{
  $wnd.showMyWindow = $entry(@my.package.client.MyWindow::showMe());
}-*/;

在你调用它之后,你将能够调用showMyWindow()常规 JS 并调用你的静态方法。

顺便说一句,您的showMe方法可能需要一个返回类型,在这种情况下,很可能是void.

于 2012-01-30T00:46:01.400 回答