将Java回调函数传递给JSNI方法? [英] Pass Java Callback Function to JSNI Method?

查看:190
本文介绍了将Java回调函数传递给JSNI方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将成功和失败回调Java函数传递给JSNI方法。

这是迄今为止所得到的结果,但它不起作用。我怎样才能解决它?

  package c; 
$ b $ public class A {

test(new Callback< String,String>(){

@Override
public void onFailure String reason){
Window.alert(fail);
}

@Override
public void onSuccess(String result){
Window。 alert(suc);
}
});


native void test(回调< String,String>回调)/ * - {

var callback = $ entry(function(event){
回调。@ cACallback :: onSuccess(Ljava / lang / String;)(success!);
});

} - * /;



解决方案

以这种方式调用回调方法:

  native void test(回调< String,String>回调)/ *  -  {
callback。com.google.gwt.core.client.Callback :: onSuccess(Ljava / lang / Object;)(success!);
} - * /;


I want to pass a success and a failure callback Java function to a JSNI method.

This is what I get so far but it does not work. How can I fix it?

package c;

public class A {

test(new Callback<String, String>() {

    @Override
    public void onFailure(String reason) {
        Window.alert("fail");
    }

    @Override
    public void onSuccess(String result) {
        Window.alert("suc");
    }
});


native void test(Callback<String, String> callback) /*-{

  var callback = $entry(function(event) {
     callback.@c.A.Callback::onSuccess(Ljava/lang/String;)("success!");
  });

}-*/;

}

解决方案

You can call the callback methods in this way:

native void test(Callback<String, String> callback) /*-{
  callback.@com.google.gwt.core.client.Callback::onSuccess(Ljava/lang/Object;)("success!");
}-*/;

这篇关于将Java回调函数传递给JSNI方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆