你在这里问了很多问题。在您的情况下,您应该创建尽可能多的问题,以便您在原始帖子中有问号。
关于您的第一个问题,请查看JSNI。
编辑:所以 okrasz 给了你一些参考资料。从我的角度来看,我将尝试使用 JSNI 帮助您的示例(因为您在询问将现有 js 绑定到 GWT)。
假设您已MyTable
定义为
<script type="text/javascript">
MyTable = function(a,b){
this.a = a;
this.b = b;
};
</script>
并且你的 js 文件被调用mytable.js
现在,我们需要它成为一个组件。在 GWT 库项目中的 .java 文件中,创建一个像这样的类:
public class MyTable extends JavaScriptObject {
protected MyTable(){}
public static native MyTable create(double a, double b) /*-{
return new MyTable(a,b);
}-*/;
public final native double getA() /*-{
return this.a;
}-*/;
public final native double getB() /*-{
return this.b;
}-*/;
}
将您的原始 js 文件添加到资源中,并将一个script
节点添加到您的gwt.xml
模块中,如下所示:
<module>
<inherits name="com.google.gwt.core.Core"/>
<script src="path/to/mytable.js"/>
<source path="client"/>
<public path="public"/>
</module>
差不多就是这样。我可能忘记了一些东西,但你可以参考任何你需要做同样事情的 oss 项目。例如,看一下swfupload-gwt项目源代码。