GWT-运动图表/日期对象
我在创建GWT运动图表时遇到问题。我希望图表如下所示: 以下是我的代码:GWT-运动图表/日期对象,gwt,Gwt,我在创建GWT运动图表时遇到问题。我希望图表如下所示: 以下是我的代码: package component.client.widgets; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Locale; imp
package component.client.widgets;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.visualization.client.AbstractDataTable;
import com.google.gwt.visualization.client.DataTable;
import com.google.gwt.visualization.client.VisualizationUtils;
import com.google.gwt.visualization.client.visualizations.LineChart;
import com.google.gwt.visualization.client.visualizations.MotionChart;
import com.google.gwt.visualization.client.visualizations.MotionChart.Options;
import com.google.gwt.visualization.client.AbstractDataTable.ColumnType;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import component.client.SQLRunner;
import component.client.SQLRunnerAsync;
public class DashboardWidget
{
private HorizontalPanel containerPanel=null;
private DataTable data=null;
public DashboardWidget()
{
containerPanel = new HorizontalPanel();
}
public HorizontalPanel getContainerPanel()
{
SQLRunnerAsync service = (SQLRunnerAsync) GWT.create(SQLRunner.class);
AsyncCallback<ArrayList<String[]>> callback = new AsyncCallback<ArrayList<String[]>>()
{
@Override
public void onFailure(Throwable caught)
{
}
@Override
public void onSuccess(final ArrayList<String[]> result)
{
Runnable onLoadCallback = new Runnable()
{
public void run()
{
String date1="1988,0,1";
String date2="1988,0,1";
String date3="1988,0,1";
String date4="1988,1,1";
String date5="1988,1,1";
String date6="1988,1,1";
DateTimeFormat fmt = DateTimeFormat.getFormat("yyyy,M,d");
Date d1 = fmt.parse(date1);
Date d2 = fmt.parse(date2);
Date d3 = fmt.parse(date3);
Date d4 = fmt.parse(date4);
Date d5 = fmt.parse(date5);
Date d6 = fmt.parse(date6);
data.addRows(6);
data.addColumn(ColumnType.STRING,"Fruit");
data.addColumn(ColumnType.DATE, "Date");
data.addColumn(ColumnType.NUMBER, "Sales");
data.addColumn(ColumnType.NUMBER, "Expenses");
data.addColumn(ColumnType.STRING, "Location");
data.setValue(0, 0, "Apples");
data.setValue(0, 1, d1);
data.setValue(0, 2, 1000);
data.setValue(0, 3, 300);
data.setValue(0, 4, "East");
data.setValue(1, 0, "Oranges");
data.setValue(1, 1, d2);
data.setValue(1, 2, 950);
data.setValue(1, 3, 200);
data.setValue(1, 4, "West");
data.setValue(2, 0, "Bananas");
data.setValue(2, 1, d3);
data.setValue(2, 2, 300);
data.setValue(2, 3, 250);
data.setValue(2, 4, "West");
data.setValue(3, 0, "Apples");
data.setValue(3, 1, d4);
data.setValue(3, 2, 1200);
data.setValue(3, 3, 400);
data.setValue(3, 4, "East");
data.setValue(4, 0, "Oranges");
data.setValue(4, 1, d5);
data.setValue(4, 2, 900);
data.setValue(4, 3, 150);
data.setValue(4, 4, "West");
data.setValue(5, 0, "Bananas");
data.setValue(5, 1, d6);
data.setValue(5, 2, 788);
data.setValue(5, 3, 617);
data.setValue(5, 4, "West");
Options options = Options.create();
options.setWidth(1000);
options.setHeight(1000);
MotionChart chart = new MotionChart(data, options);
containerPanel.add(chart);
}
};
VisualizationUtils.loadVisualizationApi(onLoadCallback, MotionChart.PACKAGE);
}
};
service.getSomeStuffFromDB("","","","", callback);
return containerPanel;
}
}
package component.client.widgets;
导入java.text.DateFormat;
导入java.text.ParseException;
导入java.text.simpleDataFormat;
导入java.util.ArrayList;
导入java.util.Date;
导入java.util.Locale;
导入com.google.gwt.user.client.rpc.AsyncCallback;
导入com.google.gwt.user.client.ui.HorizontalPanel;
导入com.google.gwt.visualization.client.AbstractDataTable;
导入com.google.gwt.visualization.client.DataTable;
导入com.google.gwt.visualization.client.VisualizationUtils;
导入com.google.gwt.visualization.client.visualizations.LineChart;
导入com.google.gwt.visualization.client.visualizations.MotionChart;
导入com.google.gwt.visualization.client.visualizations.MotionChart.Options;
导入com.google.gwt.visualization.client.AbstractDataTable.ColumnType;
导入com.google.gwt.core.client.gwt;
导入com.google.gwt.i18n.client.DateTimeFormat;
导入component.client.SQLRunner;
导入component.client.SQLRunnerAsync;
公共类DashboardWidget
{
private HorizontalPanel containerPanel=null;
私有数据表数据=null;
公共DashboardWidget()
{
containerPanel=新水平面板();
}
公共水平面板getContainerPanel()
{
SQLRunnerAsync服务=(SQLRunnerAsync)GWT.create(SQLRunner.class);
AsyncCallback callback=新的AsyncCallback()
{
@凌驾
失败时的公共无效(可丢弃)
{
}
@凌驾
成功时公开作废(最终ArrayList结果)
{
Runnable onLoadCallback=new Runnable()
{
公开募捐
{
字符串date1=“1988,0,1”;
字符串date2=“1988,0,1”;
字符串date3=“1988,0,1”;
字符串date4=“1988,1,1”;
字符串date5=“1988,1,1”;
字符串date6=“1988,1,1”;
DateTimeFormat fmt=DateTimeFormat.getFormat(“yyyy,M,d”);
日期d1=fmt.parse(日期1);
日期d2=fmt.parse(日期2);
日期d3=fmt.parse(日期3);
日期d4=fmt.parse(日期4);
日期d5=fmt.parse(日期5);
日期d6=fmt.parse(日期6);
数据。添加行(6);
addColumn(ColumnType.STRING,“Fruit”);
data.addColumn(ColumnType.DATE,“日期”);
data.addColumn(ColumnType.NUMBER,“销售”);
data.addColumn(ColumnType.NUMBER,“费用”);
data.addColumn(ColumnType.STRING,“位置”);
数据。设定值(0,0,“苹果”);
数据设置值(0,1,d1);
数据设置值(0,2,1000);
数据设置值(0,3300);
数据。设定值(0,4,“东”);
数据。设定值(1,0,“橙色”);
数据设置值(1,1,d2);
数据设置值(1,2950);
数据设置值(1,3200);
数据。设定值(1,4,“西”);
数据。设定值(2,0,“香蕉”);
数据。设定值(2,1,d3);
数据设置值(2,2300);
数据设置值(2,3250);
数据。设定值(2,4,“西”);
数据。设定值(3,0,“苹果”);
数据。设定值(3,1,d4);
数据设置值(3,2,1200);
数据设置值(3,3400);
数据。设定值(3,4,“东”);
数据。设定值(4,0,“橙色”);
数据。设定值(4,1,d5);
数据设置值(4900);
数据设置值(4,3150);
数据。设定值(4,4,“西”);
数据。设定值(5,0,“香蕉”);
数据。设定值(5,1,d6);
数据设置值(5,2788);
数据设置值(5,3617);
数据。设定值(5,4,“西”);
Options=Options.create();
选项。设置宽度(1000);
选项。设置高度(1000);
运动图表=新的运动图表(数据、选项);
集装箱面板添加(图表);
}
};
VisualizationUtils.loadVisualizationApi(onLoadCallback,MotionChart.PACKAGE);
}
};
getSomeStuffFromDB(“,”,“,”,回调);
返回集装箱面板;
}
}
但是我得到了一个错误:
java.lang.IllegalArgumentException:1988,0,1
位于com.google.gwt.i18n.client.DateTimeFormat.parse(DateTimeFormat.java:1579)
位于com.google.gwt.i18n.client.DateTimeFormat.parse(DateTimeFormat.java:1049)
位于component.client.widgets.DashboardWidget$1$1.run(DashboardWidget.java:89)
位于com.google.gwt.ajaxloader.client.ExceptionHelper.runProtected(ExceptionHelper.java:36)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于com.google.gwt.dev.shell.MethodAdapter.invoke(methodAdapter.java:103)
位于com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
位于com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
在com.google