【发布时间】:2010-11-02 04:30:20
【问题描述】:
我的一个 GWT Java 类中有一个本地 Javascript 方法,但是我无法从本地 Javascript 代码调用我的 Java 方法。我试图尽可能地关注this,但我无法让它发挥作用。我编译它并在Firefox中运行它,错误控制台说“错误:this.lc不是函数”。我尝试将所有方法更改为 public,但这似乎没有什么不同。我做错了什么?
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 {
this.@com.proprintsgear.design_lab.client.ValueBox::increaseValue()();
}
this.@com.proprintsgear.design_lab.client.ValueBox::fireChange()();
}
}
var box=$doc.getElementById(id);
box.addEventListener("mouseout",mouseOutHandler,false);
box.addEventListener("mouseover",mouseOverHandler,false);
}-*/;
【问题讨论】:
标签: java javascript gwt native