com.google.gwt.event.shared.UmbrellaException: исключение обнаружено: (TypeError) @ org.moxieapps.gwt.highcharts.client.BaseChart :: nativeRenderChart - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь добавить «Диаграмму» (HighCharts-Angular Gauge) на панель потока.При добавлении я получаю следующее исключение

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$7(SuggestBox.java:1185)  at com.google.gwt.user.client.ui.SuggestBox$2.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

Но все же он даетисключение.Пожалуйста, помогите.

Привет, Игнасио,

Спасибо за ответ.Я отладил его, в классе BaseChart, предоставленном старшими диаграммами, я нашел b , который логический

Это строка, в которой он вызывает исключение в BaseChartclass,

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 (цвет, ширина линии, укладка), Series (Points), ToolTip (ValueSuffix)

Я все настраиваю.Я проверил, что все 14 объектов, для которых установлен метод nativeRenderChart, не равны нулю.

Все еще получаю то же исключение !!!!Понятия не имею :( !!! Пожалуйста, помогите мне ..

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Я решил это.Проблема заключалась в следующем коде:

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

Установка 'Stacking' в 'GaugePlotOptions' вызывала исключение.После того, как она удалена, на панели появилась диаграмма.

0 голосов
/ 04 февраля 2019

Это эквивалент NullPointerException для JS.Вы, вероятно, пропустили какую-то конфигурацию диаграммы, и в итоге она перестала работать.Чтобы точно увидеть, что происходит, рекомендуемая стратегия - отладить ваш проект (сервер кода) и использовать chrome dev-tools «приостановить обнаруженные исключения».Это остановится именно на этом NPE, и вы должны увидеть, чего не хватает и что означает b.Вы должны увидеть все исходные коды в Chrome;Java, JSNI или зависимые библиотеки JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...