com.google.gwt.event.shared.UmbrellaException: 异常被捕获: (TypeError) @org.moxieapps.gwt.highcharts.client.BaseChart::nativeRenderChart

com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) @org.moxieapps.gwt.highcharts.client.BaseChart::nativeRenderChart

我正在尝试将 'Chart'(HighCharts-Angular 仪表)添加到流量面板。 添加时出现以下异常

com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) @org.moxieapps.gwt.highcharts.client.BaseChart::nativeRenderChart(Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;ZZLcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;)([string: 'Chart', JavaScript object(15907), bool: false, bool: false, JavaScript object(15932), JavaScript object(15933), JavaScript object(15934), JavaScript object(15924), JavaScript object(15928), JavaScript object(15923), JavaScript object(15926), JavaScript object(15927), JavaScript object(15930), JavaScript object(15931)]): 
    b is undefined  at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)    at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:129)  at com.google.gwt.event.logical.shared.SelectionEvent.fire(SelectionEvent.java:43)  at com.google.gwt.user.client.ui.SuggestBox.fireSuggestionEvent(SuggestBox.java:1166)   at com.google.gwt.user.client.ui.SuggestBox.setNewSelection(SuggestBox.java:1190)   at com.google.gwt.user.client.ui.SuggestBox.access(SuggestBox.java:1185)  at com.google.gwt.user.client.ui.SuggestBox.onSuggestionSelected(SuggestBox.java:683)     at 


Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError) @org.moxieapps.gwt.highcharts.client.BaseChart::nativeRenderChart(Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;ZZLcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;)([string: 'Chart', JavaScript object(15907), bool: false, bool: false, JavaScript object(15932), JavaScript object(15933), JavaScript object(15934), JavaScript object(15924), JavaScript object(15928), JavaScript object(15923), JavaScript object(15926), JavaScript object(15927), JavaScript object(15930), JavaScript object(15931)]): b is undefined    at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)    at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)    at
        .
        .

我添加了 highcharts.js 、 highcharts-more.js 和 exporting.js 等导入 在我的 GWT.html

但是还是报异常。 请帮忙。

嗨,伊格纳西奥,

感谢您的回复。 我已经调试过了,在highcharts提供的BaseChart class中我找到了b,也就是boolean

这是导致 BaseChart class、

异常的行
chart = nativeRenderChart(
            getChartTypeName(),
            createNativeOptions(),
            toolTip != null && toolTip.getToolTipFormatter() != null,
            legend != null && legend.getLabelsFormatter() != null,
            chartEventHandlers.getJavaScriptObject(),
            seriesEventHandlers.getJavaScriptObject(),
            pointEventHandlers.getJavaScriptObject(),
            xAxisEventHandlers.getJavaScriptObject(),
            yAxisEventHandlers.getJavaScriptObject(),
            xAxisLabelFormatters.getJavaScriptObject(),
            yAxisLabelFormatters.getJavaScriptObject(),
            yAxisStackLabelFormatters.getJavaScriptObject(),
            plotOptionsLabelFormatters.getJavaScriptObject(),
            seriesLabelFormatters.getJavaScriptObject()
        );

从 javascript http://jsfiddle.net/highcharts/EjRLw/

并添加了以下内容 窗格, YAxis(刻度位置,宽度,颜色) GaugePlotOptions(颜色、线宽、堆叠), 系列(点), 工具提示(值后缀)

我正在设置一切。 我验证了设置为 'nativeRenderChart' 方法的所有 14 个对象都不为空。

仍然遇到同样的异常!!!! 一点线索都没有:( !!! 请帮帮我..

这是 JS 的 NullPointerException 等价物。您可能错过了一些图表配置,最终以失败告终。要准确查看发生了什么,推荐的策略是调试您的项目(代码服务器)并使用 chrome 开发工具 "pause on caught exceptions"。这将恰好在此 NPE 处停止,您应该看到缺少什么以及意味着什么 b。 chrome里面的所有源码你一定要看; Java、JSNI 或依赖的 JS 库。

我已经解决了这个问题。 问题在于以下代码,

GaugePlotOptions plotOptions = new GaugePlotOptions();
//  plotOptions.setStacking( Stacking.NORMAL ); <<--- CULPRIT

在 'GaugePlotOptions' 中设置 'Stacking' 导致异常。 删除后图表出现在面板中。