我试图创建一个饼图部件使用外部JavaScript文件中的GWT项目中使用。我如何从本地函数GWT外部JS库获取类的实例?
public class PieChart implements IsWidget{
Canvas c;
public PieChart() {
c = Canvas.createIfSupported();
init(c.getElement());
}
private native void init(Element e) /*-{
var data = [];
var ctx = e.getContext("2d");
var myNewChart = new Chart(ctx);
myNewChart.Doughnut(data,{animateScale: true});
}-*/;
private native void add(PieChartData p) /*-{
var data = [{
value: p.value,
color: p.color,
hightlight: p.hightlight,
label: p.label
}];
myNewChart.addData(data); // <-- null
}-*/;
@Override
public Widget asWidget() {
return c;
}
}
我有增值图表的问题。请帮我。谢谢。
我想创建一个类饼图如使用GWT画布窗口小部件,并可以使用图表。使用类饼图:
AbsolutePanel panel = new AbsolutePanel();
PieChart p = new PieChart();
panel.add(p);
编译工程 - 显示图表。我想动态数据添加到图表。我不知道该怎么来初始化本地JS对象和其他方法使用方法。到可变myNewChart参考显示错误 - 空指针,因为它myNewChart变量未初始化。
我会以这种方式添加的数据:
AbsolutePanel panel = new AbsolutePanel();
PieChart p = new PieChart();
panel.add(p);
p.add(data);
我不知道如何做到这一点; /
到底要在GWT创建,我可以用图表,使用外部JS文件从该页面类:http://www.chartjs.org/docs/
我猜“// < - 空”就是你有问题?
尝试保持到所创建图表对象的引用。
在类中创建一个成员
JavaScriptObject myNewChart;
和初始化它在你的init方法通过更换
var myNewChart = new Chart(ctx);
同
[email protected]::myNewChart = new Chart(ctx);