我的代码如下
onLoadCallback = new Runnable() {
@Override
public void run() {
pie = new PieChart(createTable(), pieOptions());
pie.addSelectHandler(createSelectHandler(pie));
vstack.addMember(pie);
barChart = new BarChart(createTable(), barOptions());
vstack.addMember(barChart);
}
};
VisualizationUtils.loadVisualizationApi(getView().getCallBack(), CoreChart.PACKAGE);
我正在使用SmartGWT并且提到的堆栈有一个VStack,但第二个图形呈现在第一个图形之上,它们仅在我手动调整浏览器窗口大小后才能正确显示。
有人经历过同样的事吗?
更新:这是图像(没有注意到我可以添加一个)
我相信图像是通过Runnable调用加载的,因为正如我之前提到的,一旦它们完全加载,你可以调整窗口大小并自行修复。
我不是唯一一个在一个页面中使用超过2个图表的人,我假设,你们是如何让它工作的?
答案 0 :(得分:0)
至于为什么SmartGWT会发生这种情况我仍然没有答案,我在图形之间添加了一个间隔符,第二个图形在间隔符上重叠,就像在Layouts排列项目时完全绘制了Runnable生成的小部件。
我不得不使用HTMLPanel并将每个图形小部件分配给div,这违背了SmartGWT和Layouts的目的,但它是唯一可行的方式