我在这里试图展示我的PieChart。
我把下面的代码
public void onModuleLoad() {
// Create a callback to be called when the visualization API
// has been loaded.
Runnable onLoadCallback = new Runnable() {
public void run() {
Panel panel = RootPanel.get();
// Create a pie chart visualization.
PieChart pie = new PieChart(createTable(), createOptions());
pie.addSelectHandler(createSelectHandler(pie));
panel.add(pie);
}
};
// Load the visualization api, passing the onLoadCallback to be called
// when loading is done.
VisualizationUtils.loadVisualizationApi(onLoadCallback, PieChart.PACKAGE);
}
由于GWT省略了Runnable(?作为单线程javascript
模型),它永远不会进入run方法(我真的很想我们为什么给出了这个示例代码)。
在有了clues here之后,我写了
<script type="text/javascript">
google.load("visualization", "1", {'packages' : ["corechart"] });
</script>
添加之后,即使在stackTrace中也只有一行更改。在我整个晚上消失后,我仍然使用以下stackTrace。
com.google.gwt.core.client.JavaScriptException: (TypeError): $wnd.google.visualization is undefined
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
看到错误后,我找到了一些解决方案,让我在主页$wnd.google.visualization is undefined中添加脚本标记
即使没有运气。
我错过了什么吗?
有关此问题的任何线索吗?
P.S我添加了charts
,visualization
个罐子并在我的gwt.xml
文件中继承了
答案 0 :(得分:4)
将以下代码段添加到html文档:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {'packages' : ["corechart"] });
</script>