GWT Google Charts 入门程序

在本章中,我们将展示在 GWT 中使用 Google Charts API 绘制图表所需的配置。

创建GWT Web项目

项目结构如下:

导入GWT Google Charts的Jar包

在根目录下创建一个lib目录,把Google Charts的包导入

修改HelloWorld.gwt.xml

<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.0//EN"
        "http://gwtproject.org/doctype/2.8.0/gwt-module.dtd">
<module rename-to="HelloWorld">

    <!-- Inherit the core Web Toolkit stuff.                  -->
    <inherits name='com.google.gwt.user.User'/>

    <inherits name = 'com.google.gwt.user.theme.clean.Clean'/>
    
    <!-- Specify the app entry point class.                   -->
    <entry-point class='com.yiidian.helloWorld.client.HelloWorld'/>

    <inherits name="com.googlecode.gwt.charts.Charts"/>
    <source path = 'client'/>
    <source path = 'shared'/>
    
    <!-- Specify the app servlets.                   -->
    <servlet path='/HelloWorldService' class='com.yiidian.helloWorld.server.HelloWorldServiceImpl'/>

</module>

修改HelloWorld.html

<html>
<head>
    <title>GWT Highcharts Showcase</title>
    <link type="text/css" rel="stylesheet" href="HelloWorld.css">
    <script type="text/javascript" language="javascript" src="HelloWorld/HelloWorld.nocache.js"></script>
</head> 
<body>
</body>
</html>

HelloWorld配置类

package com.yiidian.helloWorld.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.*;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.DOM;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.googlecode.gwt.charts.client.ChartLoader;
import com.googlecode.gwt.charts.client.ChartPackage;
import com.googlecode.gwt.charts.client.ColumnType;
import com.googlecode.gwt.charts.client.DataTable;
import com.googlecode.gwt.charts.client.corechart.PieChart;

public class HelloWorld implements EntryPoint {
    private PieChart chart;

    private void initialize() {
        ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);
        chartLoader.loadApi(new Runnable() {
            public void run() {
                // Create and attach the chart
                chart = new PieChart();
                RootPanel.get().add(chart);
                draw();
            }
        });
    }
    private void draw() {
        // Prepare the data
        DataTable data = DataTable.create();
        data.addColumn(ColumnType.STRING, "Browser");
        data.addColumn(ColumnType.NUMBER, "Percentage");
        data.addRow("Firefox", 45.0);
        data.addRow("IE", 26.8);
        data.addRow("Chrome", 12.8);
        data.addRow("Safari", 8.5);
        data.addRow("Opera", 6.2);
        data.addRow("Others", 0.7);

        // Draw the chart
        chart.draw(data);
        chart.setWidth("400px");
        chart.setHeight("400px");
    }
    public void onModuleLoad() {
        initialize();
    }
}

以下为代码解释:

1)使用 ChartLoader 加载库,然后创建图表。

ChartLoader chartLoader = new ChartLoader(ChartPackage.CORECHART);
        chartLoader.loadApi(new Runnable() {
            public void run() {
                // Create and attach the chart
                chart = new PieChart();
   
            }
        });

2)通过创建数据表来配置详细信息。

 DataTable data = DataTable.create();
        data.addColumn(ColumnType.STRING, "Browser");
        data.addColumn(ColumnType.NUMBER, "Percentage");
        data.addRow("Firefox", 45.0);
        data.addRow("IE", 26.8);
        data.addRow("Chrome", 12.8);
        data.addRow("Safari", 8.5);
        data.addRow("Opera", 6.2);
        data.addRow("Others", 0.7);

3)配置要设置的宽度和高度。

chart.setWidth("700px");
chart.setHeight("700px");  

4)将图表添加到根面板。

RootPanel.get().add(chart);

启动项目,查看结果

运行配置如下:

点击Run启动

最终显示效果如下:

 

 

热门文章

优秀文章