Ich habe eine native Javascript-Methode in einer meiner GWT Java-Klassen, aber ich habe Probleme beim Aufruf meiner Java-Methoden aus dem nativen Javascript-Code. Ich habe versucht, this so genau wie möglich zu folgen, aber ich kann es nicht zum Laufen bringen. Ich kompilierte es und lief es in Firefox, und die Fehlerkonsole sagte "Fehler: this.lc ist keine Funktion". Ich habe versucht, zu ändern, alle Methoden zu öffentlichen, aber das scheint keinen Unterschied zu machen. Was mache ich falsch?Native Javascript-Methode in 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);
}-*/;
Perfekt! Das macht Sinn, aber ich wünschte, es wäre auf der GWT-Seite besser dokumentiert. – DLH