您在这里问了很多问题。在你的情况下,你应该创建尽可能多的问题,因为你在原始文章中有qustion标记。
关于你的第一个问题,看看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项目源代码。
好的。抱歉。我刚才解释道。所以它就成了问题的迷失。我修改了。请最后一行。这是我的要求。 – user414967
@ user414967我写过如何使用JSNI实现它的例子。如果您已经拥有一个具有清晰API的库并且您不想从地面编写GWT版本,那么这种方法非常有用。或者,如果这是第三方JavaScript库。否则,我会建议从头创建您的库,并查看@okrasz提供的参考。 – oddy
嗨非常感谢这么好的努力.. – user414967