如何在按钮单击本机方法时调用另一个本机?我们可以通过按钮单击
从单个本机方法调用多个本机方法答案 0 :(得分:2)
是的,你可以做到。
示例代码:
public void onModuleLoad() {
exportSayHello();
Button btn = new Button("Click");
btn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
buttonClicked("vartika");
}
});
RootPanel.get().add(btn);
}
public static native void exportSayHello() /*-{
$wnd.sayHelloFunction = $entry(@com.gwt.test.client.GWTTestProject::sayHello(Ljava/lang/String;));
}-*/;
public static native void buttonClicked(String value)/*-{
$wnd.sayHelloFunction(value);
}-*/;
public static native void sayHello(String value)/*-{
$wnd.alert("Hello " + value);
}-*/;
要遵循的步骤:
sayHello()
JSNI
导出到JavaScript
buttonClicked()
的相同名称sayHelloFunction
从本机方法JavaScript
调用它。详细了解GWT JSNI。