Java 在Vaadin中基于容器构建dChart
我得到了一个基于Java 在Vaadin中基于容器构建dChart,java,widget,vaadin,vaadin7,Java,Widget,Vaadin,Vaadin7,我得到了一个基于SQLContainer构建的表。我还想基于SQLContainer构建一个图表。使用VaadinChartadd-on会很容易,但是我不想为此付费,我正在寻找免费的东西。因此,我安装了基于容器的dChartwidget构建图,如下所示: void refreshPieDChart(Container container){ Collection<?> itemIDS= container.getItemIds(); Map<String, In
SQLContainer
构建的表。我还想基于SQLContainer
构建一个图表。使用VaadinChart
add-on会很容易,但是我不想为此付费,我正在寻找免费的东西。因此,我安装了基于容器的dChart
widget构建图,如下所示:
void refreshPieDChart(Container container){
Collection<?> itemIDS= container.getItemIds();
Map<String, Integer> countMap = new HashMap<String, Integer>();
//1
for (Object itemID : itemIDS)
{
Property property= container.getContainerProperty(itemID, "status");
String status = (String)property.getValue();
if (countMap.containsKey(status)) {
countMap.put(status, countMap.get(status) + 1);
} else {
countMap.put(status, 1);
}
}
DataSeries dataSeries = new DataSeries();
if (countMap == null || countMap.size() < 1) {
dataSeries.newSeries().add("No records", 1);
}else{
for (String key : countMap.keySet()) {
String legendRow = key + "\t" + countMap.get(key).toString();
dataSeries.newSeries().add(legendRow, countMap.get(key));
}
}
chart.setDataSeries(dataSeries).show();
}
这意味着用户需要等待2秒,直到页面将被重新绘制
有没有比我实现的更快的方法从容器
构建dChart
?或者可能已经有其他免费的图表小部件实现了这一点
编辑:
我做了更多的测试,并调用了所有的getContainerProperty(id,prop)
花了5/6的时间处理:/n还有其他方法吗?请看下面的答案:
我能够计算成千上万的状态
e
300 - 1400 records : 500 - 1800 ms