J'ai une méthode Javascript native dans l'une de mes classes Java GWT, mais j'ai du mal à appeler mes méthodes Java à partir du code Javascript natif. J'ai essayé de suivre this aussi étroitement que possible, mais je n'arrive pas à le faire fonctionner. Je l'ai compilé et exécuté dans Firefox, et la console d'erreur a déclaré "Erreur: this.lc n'est pas une fonction". J'ai essayé de changer toutes les méthodes à public, mais cela n'a pas semblé faire une différence. Qu'est-ce que je fais mal?Méthode native Javascript dans GWT
package com.proprintsgear.design_lab.client;
...
public class ValueBox extends HorizontalPanel {
...
private void fireChange() {
...
}
private void increaseValue() {
...
}
private native void addNativeMouseWheelListener(String id) /*-{
function mouseOverHandler(e) {
$wnd.addEventListener("DOMMouseScroll", scrollWheelMove, false);
}
function mouseOutHandler(e) {
$wnd.removeEventListener("DOMMouseScroll", scrollWheelMove, false);
}
function scrollWheelMove(e) {
if ($wnd.event || $wnd.Event) {
if (!e) e = $wnd.event;
if (e.wheelDelta <= 0 || e.detail > 0) {
$wnd.alert("DOWN");
} else {
[email protected]_lab.client.ValueBox::increaseValue()();
}
[email protected]_lab.client.ValueBox::fireChange()();
}
}
var box=$doc.getElementById(id);
box.addEventListener("mouseout",mouseOutHandler,false);
box.addEventListener("mouseover",mouseOverHandler,false);
}-*/;
Parfait! Cela a du sens, mais j'aurais aimé qu'il soit mieux documenté sur le site de GWT. – DLH