我无法设置简单的布局。我想要一个垂直面板下面的画布。类似的东西:
VerticalPanel parent = new VerticalPanel();
parent.setWidth("100%");
parent.setHeight("100%");
HorizontalPanel hp = new HorizontalPanel();
hp.setWidth("100%");
parent.add(hp);
Canvas canvas = Canvas.createIfSupported();
canvas.setWidth("100%");
canvas.setHeight("100%");
parent.add(canvas);
所以基本上我希望顶部面板“hp”只有其内容需要的高度,并且页面的其余部分应该用canvas元素填充。但是我得到了奇怪的效果,画布似乎只填充了屏幕的一部分等。它在布局后报告其高度约为200px,而可用高度应该在600px左右。
由于
答案 0 :(得分:0)
可能画布不会占用所有空间,因为不包含任何内容,或者因为未设置大小而默认为300px。请参阅:GWT Canvas - Save image and open it
<强>更新强>
垂直和水平面板只是HTML表格。他们将占用与其内容高度相同的空间。
相反,您可以使用:DockLayoutPanel
public void onModuleLoad()
{
DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.PCT);
dockLayoutPanel.addNorth(new Label("My header"),5);
Canvas canvas = Canvas.createIfSupported();
canvas.getElement().getStyle().setBackgroundColor("red");
canvas.setWidth("100%");
canvas.setHeight("100%");
dockLayoutPanel.add(canvas);
RootLayoutPanel.get().add(dockLayoutPanel);
}