Jest to metoda $ wejście, które możemy wykorzystać w GWT, aby umożliwić zewnętrzne javascript, aby wykonać metody Java. Możesz zobaczyć wyjaśnienia w ich dokumentacji https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI?hl=fr#callingGWT - Wywołanie metody instancji z javascript zewnętrznych
Jednak przykład istnieje tylko statycznymi metodami. Staram się pisać dla metody non-statyczne i kiedy próbuję to nazwać, otrzymuję wyjątek:
java.lang.ClassCastException: Cannot cast com.google.gwt.core.client.JavaScriptObject$ to mypackage.MyModule
Oto mój kod:
public native void setRefreshModuleCallback() /*-{
$wnd.refreshModule = $entry(function() {
[email protected]::refreshModuleJava();
alert('test');
});
}-*/;
public void refreshModuleJava() {
logger.log(Level.WARNING, "REFRESH");
}
Co znajdę bardzo zabawny jest to powiadomienie, widzę wynik w przeglądarce, ale wywołanie tuż przed nim nie jest wykonywane.
Wiesz, czy to faktycznie możliwe do zrobienia czegoś takiego?
Zauważ, że rzuciłem okiem na ten wpis i nie pomogło (lub coś przegapiłem) http://stackoverflow.com/questions/9676960/issue-with-calling-instance-method-from-handwritten- javascript –