0

在这里,我试图显示我的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 方法(我真的很想知道为什么他们给出了那个示例代码)。

在这里有了一些线索后,我写了

<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 未定义

甚至没有运气。

我错过了什么吗?

这有什么线索吗??

PS 我在我的文件中添加chartsvisualizationjars 和继承gwt.xml

4

1 回答 1

4

将以下代码段添加到 html 文档:

 <script type="text/javascript" src="http://www.google.com/jsapi"></script>
 <script type="text/javascript">
    google.load("visualization", "1", {'packages' : ["corechart"] });
 </script>
于 2013-03-20T04:57:37.663 回答