将股票图表添加到GWT SimplePanel时出现Java脚本类型错误
我正在尝试将股票图表添加到GWT简单面板。股票图表有类别[以字符串表示的日期值]和Y系列值[数字[]数组列表]。我需要帮助解决Java脚本类型错误 代码如下所示:将股票图表添加到GWT SimplePanel时出现Java脚本类型错误,gwt,highcharts,Gwt,Highcharts,我正在尝试将股票图表添加到GWT简单面板。股票图表有类别[以字符串表示的日期值]和Y系列值[数字[]数组列表]。我需要帮助解决Java脚本类型错误 代码如下所示: public void createStockChart(String[] categories, List<Number[]> Yseries, String[] seriesNames) { if (StkChart == null) { Stri
public void createStockChart(String[] categories,
List<Number[]> Yseries, String[] seriesNames) {
if (StkChart == null) {
String xAxisTitle = "Date Range";
String yAxisTitle = "Count Values";
StkChart = new StockChart();
StkChart.setTitle("Avg Performance");
StkChart.setType(Series.Type.LINE);
StkChart.getXAxis().setAxisTitleText(xAxisTitle, true);
StkChart.getXAxis().setType(Axis.Type.LINEAR);
StkChart.getYAxis().setAxisTitleText(yAxisTitle, true);
StkChart.getXAxis().setCategories(true, categories);
StkChart.setShadow(true);
StkChart.setSize(550, 300);
for (int index = 0; index < Yseries.size(); index++) {
StkChart.addSeries(StkChart.createSeries()
.setPoints(Yseries.get(index))
.setName(seriesNames[index]));
}
StkChart.getXAxis().setLabels(new XAxisLabels().setStep(2));
ChartPnl.add(StkChart); [Java Script Exception occurs here]
}
}
我怀疑您传递给createStockChart的变量之一为null或空。错过了以下步骤
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/highstock.js"></script>
之前添加了错误的JS文件
谢谢您发布的堆栈跟踪不幸缺少一些细节,但这与gwt如何捕获此类错误有关。代码也没有提供足够的细节:什么是ChartPnl,您是如何创建它的?什么是StkChart?你发布的代码似乎只是你应用程序的一个很小的窗口,并且没有足够的可视性来建议下一步的查看方向……谢谢。StkChart是GWT HighCharts.StockChart()的实例,ChartPnl是表示GWT简单面板的Ui字段。这是一个围绕股票图表的小包装工具,用于传递类别和系列数据。我从应用程序中调用此方法以显示图表。这是我得到的完全例外。我会再检查一遍。我想知道如何解决“未定义的不是函数”Java脚本异常。请让我知道,如果有任何其他信息,可能会有所帮助。我已经核实。我传递的所有值都包含值。在图表对象中,我看到了类别、系列、XAX和YAX值集。只有当我尝试将此图表添加到简单面板时,问题才会出现。您是否尝试了FlowPanel或HtmlPanel而不是SimplePanel?是的。我继续得到同样的错误。此外,我还检查了js路径中是否添加了必要的jquery.js文件。对于不必要的混淆,我深表歉意。我错过了HTML中相应的JS文件。谢谢你的意见和建议。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/highstock.js"></script>