GWT - 原生JS图表

问题描述 投票:1回答:1

我试图创建一个饼图部件使用外部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/

javascript gwt charts native
1个回答
0
投票

我猜“// < - 空”就是你有问题?

尝试保持到所创建图表对象的引用。

在类中创建一个成员

JavaScriptObject myNewChart;

和初始化它在你的init方法通过更换

var myNewChart = new Chart(ctx);

[email protected]::myNewChart = new Chart(ctx);
© www.soinside.com 2019 - 2024. All rights reserved.