Добавление трех или более виджетов в GWT LayoutPanel - PullRequest
1 голос
/ 22 ноября 2011

Я хочу отобразить три или более DataGrids в моей LayoutPanel и указать их ширину в процентах от общей ширины LayoutPanel, но в методах LayoutPanel я вижу только методы для установки ширины левого и правого виджетов.setWidgetLeftWidth() и setWidgetRightWidth().

Можно ли добавить более 2 виджетов в LayoutPanel, например

layoutPanel.add(dataGrid1);
layoutPanel.add(dataGrid2);
layoutPanel.add(dataGrid3);
layoutPanel.add(dataGrid4);

, а затем установить ширину каждого виджета равной 25% от ширины LayoutPanel?

Спасибо и привет Mukul

Ответы [ 2 ]

2 голосов
/ 22 ноября 2011

То, что у вас есть, будет работать, все, что вам нужно сделать, это настроить каждую настройку следующим образом:

layoutPanel.add(dataGrid1);
layoutPanel.setWidgetLeftRight(dataGrid1, 0, Unit.PCT, 25, Unit.PCT);
1 голос
/ 22 ноября 2011

Ну, я думаю, вы могли бы сделать это и с 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!

...