向GWT布局面板添加三个或更多小部件

向GWT布局面板添加三个或更多小部件,gwt,gwt-2.4,Gwt,Gwt 2.4,我想在LayoutPanel中显示三个或更多数据网格,并将其宽度指定为LayoutPanel总宽度的百分比,但在LayoutPanel方法中,我只看到用于设置左右小部件宽度的方法setWidgetLeftWidth()和setWidgetRightWidth() 是否可以向布局面板添加两个以上的小部件,如 layoutPanel.add(dataGrid1); layoutPanel.add(dataGrid2); layoutPanel.add(dataGrid3); layoutPanel.

我想在LayoutPanel中显示三个或更多数据网格,并将其宽度指定为LayoutPanel总宽度的百分比,但在LayoutPanel方法中,我只看到用于设置左右小部件宽度的方法
setWidgetLeftWidth()
setWidgetRightWidth()

是否可以向布局面板添加两个以上的小部件,如

layoutPanel.add(dataGrid1);
layoutPanel.add(dataGrid2);
layoutPanel.add(dataGrid3);
layoutPanel.add(dataGrid4);
然后将每个小部件的宽度设置为LayoutPanel宽度的25%

谢谢和问候
Mukul

我想你也可以使用LayoutPanel,但是使用DockLayoutPanel要容易得多!下面是您使用LayoutPanel尝试的示例的代码

public void onModuleLoad() {

    //define a DockLayoutPanel with a Percentage size definition
    DockLayoutPanel dockLayoutPanel = new DockLayoutPanel(Unit.PCT);        

    //add four widgets to the DockLayoutPanel, each with a Percentage
    //with of 25%
    dockLayoutPanel.addWest(new Label("widget 1"), 25);
    dockLayoutPanel.addWest(new Label("widget 2"), 25);
    dockLayoutPanel.addWest(new Label("widget 3"), 25);

    //the last widget must always be added with the .add method 
    //since it takes the rest of the screen
    dockLayoutPanel.add(new Label("widget 4"));

    //set a with to the DockLayoutPanel (elso you don't se much)
    dockLayoutPanel.setWidth("500px");
    dockLayoutPanel.setHeight("500px");

    //add it to the RootPanel
    RootPanel.get().add(dockLayoutPanel);       
}

所以,只要你没有一个很好的理由为什么你必须使用LayoutPanel,我就使用DocklayoutPanel

您所拥有的一切都将起作用,您所需要做的就是按照以下方式进行设置:

layoutPanel.add(dataGrid1);
layoutPanel.setWidgetLeftRight(dataGrid1, 0, Unit.PCT, 25, Unit.PCT);

谢谢,DockLayoutPanel给了我比LayoutPanel更多的选择