我目前在使用Vaadin v7.5.2中的dChart widget插件(jqPlot的包装器)时遇到问题。以下是代码片段让我头疼的问题:
ComboBox comboBox = new ComboBox();
DCharts chart = new DCharts();
VerticalLayout content = new VerticalLayout();
content.addComponent(comboBox);
content.addComponent(chart);
content.setExpandRatio(chart, 1.0f);
setContent(content);
chart.setDataSeries(dataSeries).setOptions(options).show();
问题在于,当我使用setExpandRatio
时,图表在加载页面时会从容器中溢出。这是一张图片来说明:
当我使用Web开发人员工具隐藏ComboBox并删除边距时,图表看起来没问题。因此,似乎在设置扩展比率之前绘制了绘图,好像它不知道ComboBox在那里。
然而,在从ComboBox中选择另一个项目(加载另一个DataSeries
)之后,图表将在预期的边界内绘制并且不会溢出。此外,当没有设置扩展比率或没有添加ComboBox时,一切都按预期工作。
有没有人遇到类似问题,或者知道我可以做些什么来解决这个问题?任何帮助当然非常感谢!
答案 0 :(得分:0)
我知道这不是一个理想的解决方案,但我设法通过使用AbsoluteLayout
并使用top: 40px
绘制绘图来解决我的问题。之后,我将ComboBox
添加到布局中。这样,情节总是被绘制在正确的位置。
把它留在这里作为临时解决方案,所以如果有人有更好的解决方案,请不要犹豫!