当您在 DockLayoutPanel 的中心区域(在 RootLayoutPanel 内)打开图表时,第一次呈现图表时(可能在 onModuleLoad 期间)图表没有正确的高度/宽度。该图表采用 RootLayoutPanel 的大小而不是中心区域的大小。
当您调整浏览器窗口的大小时,图表会正确调整大小。有谁知道如何解决这个问题?
@Override
public void onModuleLoad()
{
RootLayoutPanel rootPanel = RootLayoutPanel.get();
Chart chart = createChart();
chart.setWidth100();
chart.setHeight100();
DockLayoutPanel dock1 = new DockLayoutPanel(Unit.PX);
SimpleLayoutPanel slp1 = new SimpleLayoutPanel();
slp1.getElement().getStyle().setBackgroundColor("blue");
SimpleLayoutPanel slp2 = new SimpleLayoutPanel();
slp2.getElement().getStyle().setBackgroundColor("yellow");
SimpleLayoutPanel slp3 = new SimpleLayoutPanel();
slp3.getElement().getStyle().setBackgroundColor("red");
SimpleLayoutPanel slp4 = new SimpleLayoutPanel();
slp4.getElement().getStyle().setBackgroundColor("green");
dock1.addNorth(slp1, 50);
// dock1.addSouth(slp3, 50);
dock1.addWest(slp2, 50);
// dock1.addEast(slp4, 50);
dock1.add(chart);
rootPanel.add(dock1);
}
对于我试过的信息
chart.redraw();
rootPanel.forceLayout();
但这并没有改善情况
Github 项目示例:https ://github.com/mycom-int/gwthighcharts